[英]UNIQUE constraint across multiple columns
我需要一個跨越 2 列的UNIQUE
約束,但在任何地方都允許 NULL 值。 我有這個 :
CREATE TABLE table_1{
COLUMN a INT SET DEFAULT NULL,
COLUMN b INT SET DEFAULT NULL
-- <insert constraint here>
}
一些例子:
a b
1 2
3 4
valid
a b
1 1
2 3
invalid
a b
1 2
1 3
invalid
a b
1 2
3 1
invalid
a b
1 2
3 NULL
valid
a b
1 2
3 NULL
4 NULL
NULL 5
valid
修改@a_horse_with_no_name 建議
create table table_1(a int default null, b int default null);
ALTER TABLE table_1
ADD CONSTRAINT excl exclude using gist ( (array_remove(array[a, b],NULL)) with &&);
這將適用於 NULLable 列
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.