這是正確的PostgreSQL語法將列添加到表的false
PostgreSQL的 - 布爾值列添加到表中設定的默認
ALTER TABLE users
ADD "priv_user" BIT
ALTER priv_user SET DEFAULT '0'
由於默認值!
這是正確的PostgreSQL語法將列添加到表的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;
克雷格提到的填表格更有效地將其分割成步驟:
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;
請注意,如果您的表格很大,則可能需要很長時間並鎖定整個表格。將它分成幾個步驟會更快:在ALTER TABLE用戶添加列的時候不添加默認列,使用'ALTER TABLE用戶添加列'priv_user BOOLEAN;',然後'UPDATE users SET priv_user ='f';'最後如果需要'ALTER TABLE用戶ALTER COLUMN priv_user SET NOT NULL;'。 – 2012-08-14 00:19:16
分成步驟的方法不添加默認值。在單獨的步驟中添加「DEFAULT'f'」更快嗎? – 2016-10-27 11:54:35
是在單獨的步驟中添加默認值只是元數據操作,因此非常快。 – Eelke 2016-10-31 20:41:41
如果你想真正的布爾值列:
ALTER TABLE users ADD "priv_user" boolean DEFAULT false;
注意:並非所有版本的Postgres都支持這一行定義。 – 2017-05-22 23:58:53
我如果您使用的是postgresql,那麼您必須將布爾類型爲小寫的BOOLEAN作爲布爾值。
ALTER TABLE用戶添加「priv_user」布爾值DEFAULT false;
只是爲了將來參考,如果您已經有一個布爾值列,你只是想添加默認做:
ALTER TABLE users
ALTER COLUMN priv_user SET DEFAULT false;
在PSQL改變這樣
Alter table users add column priv_user boolean default false ;
列的查詢語法布爾值(true-false)保存在DB中,如(tf)值。
你想要一個位列或實際的'boolean'列嗎? – rfusca 2012-08-13 16:50:46