0
找不到任何答案,所以我正在寫這個未解決的問題。我很好奇,如果有可能在SQL Server 2008表的2列創建這樣的UNIQUE約束,那麼「正常」和「反向」重複將不被允許。2列的唯一約束,但正常和相反的順序
實施例:
ID1 = 10, ID2 = 20 -- existing row
試圖增加一對值:
ID1 = 10, ID2 = 20 -- not allowed because of the UNIQUE key
ID1 = 20, ID2 = 10 -- allowed
第二行將被插入(當然這不是一個重複)。這就是問題所在。是否可以在表上設置任何鍵/約束/無論如何禁止上面的插入?即使用表達式而不是列列表的東西?現在我使用觸發器來檢查這種「重複」,但我只是想知道是否有更簡單的解決方案。
謝謝, 彼得P.
@Peter:此代碼將不會允許您的要求重複插入,你可以調整交易,在觸發按您的要求 – Nishad
這就是我所做的。只是認爲有一個更簡單的解決方案,而不必觸發一個觸發器:) – peterp
我沒有正確看待這個問題,跳到解決方案:)請忽略 – Nishad