2016-03-24 6 views
2

Ich bin sehr neu zu SQL und habe einfache Abfragen von einer Android-App zu phpmyadmin mit PHP ausgeführt. Jetzt habe ich Probleme mit einer etwas komplexeren Anfrage und bin sogar unsicher, ob ich die richtige Syntax habe.SQL-Set mit ja, wenn userid = x und eventid = x

möchte ich mag:

  1. Überprüfen Sie, ob der Benutzer für ein Ereignis einen Eintrag hat, wenn ja, dann die Teilnahme entsprechend aktualisieren (In diesem Beispiel würde ich auf Ja aktualisieren)
  2. Wenn es keine Eintrag für Ereignis ein (siehe Code) Ich mag würde

Visual

SELECT * FROM user_has_event 
IF user_user_id = 1 AND event_event_id = 1 
    THEN 
    SET attendance= 'Yes' 
    ELSE 
    INSERT INTO user_has_event (user_user_id = 1, event_event_id = 1, attendance = 'Yes') 
einfügen

Kann mir bitte jemand in die richtige Richtung zeigen?

Antwort

1

Sie scheinen insert . . . on duplicate key update zu wollen:

insert into user_has_event(user_user_id, event_event_id, attendance) 
    values (1, 1, 'yes') 
    on duplicate key update attendance = 'yes'; 

Beachten Sie, dass für diese zu arbeiten, benötigen Sie einen eindeutigen Index für user_has_event(user_user_id, event_event_id) (einen Primärschlüssel mit diesen beiden Spalten funktioniert genauso gut).

+0

Ja das hat perfekt funktioniert, danke: D – kmil

Verwandte Themen