Użyj NIE :
UPDATE table SET boolean_field = NOT boolean_field WHERE id = :id
Kiedy stara wartość jest równa FALSE, zmienia się na TRUE i odwrotnie. Pole NULL nie zostanie odwrócone, nie ma do czego odwrócić.
Pełny przykład:
CREATE TABLE test(id serial, boolean_field boolean);
INSERT INTO test(boolean_field)
VALUES(null),(false), (true)
RETURNING *;
I uruchom test:
UPDATE test
SET boolean_field = NOT boolean_field
RETURNING *;