Условия обновления MySQL в одном запросе (UPDATE, SET и CASE)

Я пытаюсь обновить набор записей ( логические поля ]) в одном запросе, если это возможно.

Входные данные поступают от разбитых на страницы радиоуправлений, поэтому данный POST будет иметь идентификаторы страницы с истинным или ] false значение.

Я пытался пойти в этом направлении:

UPDATE my_table
    SET field = CASE
        WHEN id IN (/* true ids */) THEN TRUE
        WHEN id IN (/* false ids */) THEN FALSE
    END

Но это привело к тому, что строки «истинного идентификатора» были обновлены до истинного , а ВСЕ другие строки были обновлены до false .

Я предполагаю Я допустил грубую синтаксическую ошибку или, возможно, подхожу к ней неправильно.

Есть какие-нибудь мысли по поводу решения?

12
задан Dan Lugg 7 August 2011 в 20:28
поделиться