I'm trying to update a set of records (boolean
fields) in a single query if possible.
The input is coming from paginated radio controls, so a given POST
will have the page's worth of IDs with a true
or false
value.
I was trying to go this direction:
UPDATE my_table
SET field = CASE
WHEN id IN (/* true ids */) THEN TRUE
WHEN id IN (/* false ids */) THEN FALSE
END
But this resulted in the "true id" rows being updated to true
, and ALL other rows were updated to false
.
I assume I've made some gross syntactical error, or perhaps that I'm approaching this incorrectly.
Any thoughts on a solution?