Conditions de mise à jour de MySQL dans une requête (UPDATE, SET & amp; CASE)

Je suis en train de mettre à jour un ensemble d'enregistrements (boolean champs) dans une seule requête, si possible.

L'entrée est à venir à partir de paginé commandes de la radio, donc un POST auront la page de la valeur de l'Id avec un true ou false valeur.

J'ai essayé d'aller dans cette direction:

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

Mais cela a donné le "vrai" id de lignes mises à jour à trueet TOUS d'autres lignes ont été mis à jour à false.

Je suppose que j'ai fait quelques brut erreur de syntaxe, ou peut-être que j'aborde cette question de façon incorrecte.

Toute réflexion sur une solution?

source d'informationauteur Dan Lugg