Postgresql - добавить булевский столбец в таблицу по умолчанию
Является ли это правильным синтаксисом postgresql для добавления столбца в таблицу со значением по умолчанию false
ALTER TABLE users
ADD "priv_user" BIT
ALTER priv_user SET DEFAULT '0'
Спасибо!
Ответ 1
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;
Ответ 2
Если вам нужен фактический логический столбец:
ALTER TABLE users ADD "priv_user" boolean DEFAULT false;
Ответ 3
Просто для справки в будущем, если у вас уже есть логический столбец, и вы просто хотите добавить значение по умолчанию:
ALTER TABLE users
ALTER COLUMN priv_user SET DEFAULT false;
Ответ 4
Если вы используете postgresql, тогда вы должны использовать тип столбца BOOLEAN в нижнем регистре как логическое.
ALTER TABLE пользователи ADD "priv_user" boolean DEFAULT false;
Ответ 5
В синтаксисе запроса столбца psql alter, подобном этому
Alter table users add column priv_user boolean default false ;
логическое значение (true-false) сохранить в DB как (t-f) значение.