1. ホーム
  2. sql

[解決済み】postgresql - テーブルにブーリアンカラムを追加するデフォルトを設定する

2022-04-06 20:43:43

質問

テーブルにカラムを追加する際、デフォルト値として false

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;