Postgresql唯一索引:一个外键只有一个日期
Postgresql unique index: only one date for one foreign key
我有一只table“脚”:
ID PRODUCT_ID END_DATE
------------------------------
1 1 NULL
2 1 2022-02-02
3 1 2022-01-06 - This date could not be exists
4 2 NULL
5 2 2022-01-23
6 3 NULL
7 3 NULL
如何为具有相同id的一个产品创建唯一索引,并且只能存在一个日期?
创建条件唯一索引:
CREATE UNIQUE INDEX u_productid_end_date_not_null
ON foo(product_Id)
WHERE end_date IS NOT NULL; -- this one will do the trick
我有一只table“脚”:
ID PRODUCT_ID END_DATE
------------------------------
1 1 NULL
2 1 2022-02-02
3 1 2022-01-06 - This date could not be exists
4 2 NULL
5 2 2022-01-23
6 3 NULL
7 3 NULL
如何为具有相同id的一个产品创建唯一索引,并且只能存在一个日期?
创建条件唯一索引:
CREATE UNIQUE INDEX u_productid_end_date_not_null
ON foo(product_Id)
WHERE end_date IS NOT NULL; -- this one will do the trick