PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Postgres Alter Column Integer zu Boolean

Versuchen Sie Folgendes:

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;

Sie müssen zuerst die Einschränkung entfernen (da es sich nicht um einen booleschen Wert handelt) und zweitens Ihren CASE Anweisung war syntaktisch falsch.