2
我甚至不確定如何將問題提出來。這裏是什麼,我試圖完成一個解釋:根據行的值添加SQL約束條件
我需要添加的帳戶ID和isDefaultWebOrderingPayment列的約束,這將使許多ACCOUNTID和IsDefaultWebOrderingPayment時ISDEFAULT是假的,但不允許多臺組合AccountId和IsDefault爲true。
我甚至不確定如何將問題提出來。這裏是什麼,我試圖完成一個解釋:根據行的值添加SQL約束條件
我需要添加的帳戶ID和isDefaultWebOrderingPayment列的約束,這將使許多ACCOUNTID和IsDefaultWebOrderingPayment時ISDEFAULT是假的,但不允許多臺組合AccountId和IsDefault爲true。
根據馬丁·史密斯評論,創建唯一索引的伎倆。
CREATE UNIQUE NONCLUSTERED INDEX uq_AccountId_IsDefaultWebOrderingPayment
ON PaymentOptions(AccountId, IsDefaultWebOrderingPayment)
WHERE AccountId IS NOT NULL AND IsDefaultWebOrderingPayment = 1
GO
您可能需要一個獨特的過濾索引。 –
可能重複的[SQL可以在表上有一個「條件唯一」約束?](https://stackoverflow.com/questions/3283347/sql-can-i-have-a-conditionally-unique-constraint-on -一張桌子) – Alex