Próbuję zaktualizować zestaw rekordów (boolean
pól) w jednym zapytaniu, jeśli to możliwe.Warunki aktualizacji MySQL w jednym zapytaniu (UPDATE, SET & CASE)
Wejście pochodzi z numeracją stron sterowania radiowego, więc dana POST
będzie mieć wartość dla strony identyfikatorów z true
lub false
wartości.
starałem się iść w tym kierunku:
UPDATE my_table
SET field = CASE
WHEN id IN (/* true ids */) THEN TRUE
WHEN id IN (/* false ids */) THEN FALSE
END
Ale spowodowało to "prawdziwa id" wiersze aktualizowany do true
i WSZYSTKIE inne wiersze zostały zaktualizowane do false
.
Zakładam, że popełniłem poważny błąd składniowy, a może, że podchodzę do tego niepoprawnie.
Jakieś przemyślenia na temat rozwiązania?
możliwe duplikat [MySQL] Aktualizacja przypadku pomocy (http://stackoverflow.com/questions/6734231/mysql- update-case-help) – nawfal