[英]Check constraint on existing column with PostgresQL
我正在嘗試對現有列設置檢查約束。
有什么辦法可以從 PostgreSQL 實現這一點嗎?
使用alter table
添加新約束:
alter table foo
add constraint check_positive check (the_column > 0);
更多細節和示例在手冊中:
http://www.postgresql.org/docs/current/static/sql-altertable.html#AEN70043
編輯
通過使用IN
運算符,以相同的方式檢查特定值:
alter table foo
add constraint check_positive check (some_code in ('A','B'));
如果您同意(或想要)Postgres 生成約束名稱,您可以使用以下速記語法。
ALTER TABLE foo
ADD CHECK (column_1 > 2);
您可以使用alter table
命令添加新約束。 從 文檔這個例子:
ALTER TABLE distributors
ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 5) NO INHERIT;
您必須根據本地要求替換約束名稱以及表名稱和內容。
這應該這樣做:
create table test (
id serial
);
alter table test
add constraint id_not_null
check (id is not null);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.