Warunkowa aktualizacja w MySql
Próbuję zaktualizować wartości z tabeli, ale muszę dodać pewne warunki. Znalazłem funkcję CASE, ale nie jestem, jeśli jest to najlepsza metoda. Oto przykład:
Moja tabela to na przykład „relacja”
userid1|userid2|name1|name2
Mam na przykład:
SELECT *
FROM realtion
WHERE (userid1 = 3 AND userid2 = 4)
OR (userid1 = 4 AND userid2 = 3);
Wydajność:
4|3|bill|jack
i chcę zmienić nazwę użytkownika 3 w relacji między 3 a 4, ale nie wiem, czy jest to userid1 czy userid2.
Myślałem o sprawie
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);
Ale to nie działa! Jakieś pomysły? Z góry dziękuję.