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

Sådan skifter du en boolean i postgres i én forespørgsel

Brug IKKE :

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

Når den gamle værdi er lig FALSK, bliver den til SAND og omvendt. Et NULL-felt vender ikke, der er ikke noget at vende efter.

Komplet eksempel:

CREATE TABLE test(id serial, boolean_field boolean);

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

OG kør testen:

UPDATE test
SET boolean_field = NOT boolean_field 
RETURNING *;


  1. MySQL:Fejlkode:1118 Rækkestørrelse for stor (> 8126). Ændring af nogle kolonner til TEXT eller BLOB

  2. Administration af brugerkonti, roller, tilladelser, godkendelse PHP og MySQL - Del 3

  3. Top fem overvejelser for databaseindeksdesign i SQL Server

  4. Hvordan bruger man en procent (%) i et LIKE uden at det bliver behandlet som et jokertegn?