Bedingtes UPDATE in MySql
Ich versuche, die Werte zu AKTUALISIEREN, die aus einer Tabelle aber ich muss hinzufügen, dass einige Bedingungen. Ich fand die Funktion FALL, aber ich bin nicht, ob es ist die beste Methode.
Hier ist ein Beispiel:
Mein Tisch ist zum Beispiel 'Beziehung'
userid1|userid2|name1|name2
Bekam ich zum Beispiel:
SELECT *
FROM realtion
WHERE (userid1 = 3 AND userid2 = 4)
OR (userid1 = 4 AND userid2 = 3);
Ausgabe:
4/3|bill|jack
und ich will den Namen ändern, der dem Benutzer 3 in dem Verhältnis zwischen 3 und 4, aber ich weiß nicht, ob es ist die userid1 oder die userid2.
Obwohl ich von Fall
UPDATE relation
CASE WHEN userid1 = 3 THEN SET name1 = 'jack' END
WHEN userid2 = 3 THEN SET name2 = 'jack' END
WHERE (userid1 = 3 AND userid2 = 4)
OR (userid1 = 4 AND userid2 = 3);
Aber es funktioniert nicht! Irgendwelche Ideen? Vielen Dank im Voraus.
InformationsquelleAutor der Frage Pierre Lebon | 2013-06-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leider ist es nicht ganz klar, was Sie wollen, um am Ende zu bekommen, aber hier ist, wie könnte man richtig verwenden Sie die bedingte
SET
in IhremUPDATE
Hier ist SQLFiddle demo.
InformationsquelleAutor der Antwort peterm