postgresql - 将boolean列添加到表集默认值

时间:2012-08-13 16:43:03

标签: sql postgresql

这是一种适当的postgresql语法,可以将列添加到默认值为false的表中

ALTER TABLE users
ADD "priv_user" BIT
ALTER priv_user SET DEFAULT '0'

谢谢!

5 个答案:

答案 0 :(得分:238)

ALTER TABLE users
  ADD COLUMN "priv_user" BOOLEAN DEFAULT FALSE;

您也可以直接指定NOT NULL

ALTER TABLE users
  ADD COLUMN "priv_user" BOOLEAN NOT NULL DEFAULT FALSE;

UPDATE :以下仅适用于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;

答案 1 :(得分:15)

如果你想要一个实际的布尔列:

ALTER TABLE users ADD "priv_user" boolean DEFAULT false;

答案 2 :(得分:12)

仅供将来参考,如果你已经有一个布尔列,你只想添加默认值:

ALTER TABLE users
  ALTER COLUMN priv_user SET DEFAULT false;

答案 3 :(得分:5)

如果您使用的是postgresql,则必须使用小写的BOOLEAN列作为布尔值。

ALTER TABLE用户ADD“priv_user”boolean DEFAULT false;

答案 4 :(得分:1)

在psql alter column中查询语法如下

Alter table users add column priv_user boolean default false ;

布尔值(true-false)保存在数据库中,如(t-f)值。