PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Postgres Alter Column Integer to Boolean

Essayez ceci :

ALTER TABLE mytabe ALTER COLUMN mycolumn DROP DEFAULT;
ALTER TABLE mytabe ALTER mycolumn TYPE bool USING CASE WHEN mycolumn=0 THEN FALSE ELSE TRUE END;
ALTER TABLE mytabe ALTER COLUMN mycolumn SET DEFAULT FALSE;

Vous devez d'abord supprimer la contrainte (car ce n'est pas un booléen), et deuxièmement votre CASE l'instruction était syntaxiquement erronée.