Postgresql-12

文本值的排除約束

  • May 5, 2021

我有兩張桌子。一個客戶表和一個車輛表,兩者連結在一個單元查找表中。我的限制是,如果車輛已經與另一個客戶相關聯,它就不能屬於一個客戶。

這是我到目前為止所擁有的:

ALTER TABLE unit 
  ADD CONSTRAINT unit_vehicle_across_client_constraint 
  EXCLUDE USING GIST (client WITH =, vehicle WITH <>) DEFERRABLE;

但這似乎不起作用。我想我只是不太了解排除參數是如何工作的。

有什麼建議麼?

正如所建議的那樣,對車輛的簡單 UNIQUE 約束可以解決問題。不知道為什麼我想做複雜的。

引用自:https://dba.stackexchange.com/questions/291044