将列添加到默认值为 false
的表中,这是正确的 postgresql 语法吗?
ALTER TABLE users
ADD "priv_user" BIT
ALTER priv_user SET DEFAULT '0'
谢谢!
最佳答案
ALTER TABLE users
ADD COLUMN "priv_user" BOOLEAN DEFAULT FALSE;
也可以直接指定NOT NULL
ALTER TABLE users
ADD COLUMN "priv_user" BOOLEAN NOT NULL DEFAULT FALSE;
更新:以下仅适用于 postgresql 11 之前的版本。
正如 Craig 在填充表中提到的那样,将其拆分为多个步骤会更有效:
ALTER TABLE users ADD COLUMN priv_user BOOLEAN;
UPDATE users SET priv_user = 'f';
ALTER TABLE users ALTER COLUMN priv_user SET NOT NULL;
ALTER TABLE users ALTER COLUMN priv_user SET DEFAULT FALSE;
关于sql - postgresql - 将 bool 列添加到表集默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11938621/