Gebruik NIET :
UPDATE table SET boolean_field = NOT boolean_field WHERE id = :id
Wanneer de oude waarde gelijk is aan ONWAAR, wordt deze WAAR en vice versa. Een NULL-veld kan niet worden omgedraaid, er is niets om naar te spiegelen.
Compleet voorbeeld:
CREATE TABLE test(id serial, boolean_field boolean);
INSERT INTO test(boolean_field)
VALUES(null),(false), (true)
RETURNING *;
EN voer de test uit:
UPDATE test
SET boolean_field = NOT boolean_field
RETURNING *;