PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come attivare un booleano in postgres in una query

Usa NON :

UPDATE table SET boolean_field = NOT boolean_field WHERE id = :id

Quando il vecchio valore è FALSO, diventa VERO e viceversa. Un campo NULL non si capovolge, non c'è niente da capovolgere.

Esempio completo:

CREATE TABLE test(id serial, boolean_field boolean);

INSERT INTO test(boolean_field) 
VALUES(null),(false), (true) 
RETURNING *;

E esegui il test:

UPDATE test
SET boolean_field = NOT boolean_field 
RETURNING *;