6
在PostgreSQL中,如何將範圍列上的排除約束與其他標量列上的唯一約束組合在一起。或者換句話說,我如何確保範圍重疊檢查只與其他列上的唯一檢查結合使用?將PostgreSQL EXCLUDE範圍約束與UNIQUE約束結合使用
例如,說我有:
CREATE TABLE reservation (
restaurant_id int,
time_range tsrange
);
我想確保每個restaurant_id
,沒有重疊time_range
秒。
我知道我可以創建一個獨特的範圍約束是這樣的:
CREATE TABLE reservation (
restaurant_id int,
time_range tsrange EXCLUDE USING gist (time_range WITH &&)
);
但是我怎麼確保該time_range
檢查是通過restaurant_id
作用域?
這正是這個話題的討論:HTTP:// thoughts.davisjeff.com/2010/09/25/exclusion-constraints-are-generalized-sql-unique/。 –