2013-12-23 64 views
2

如何使(A,B)==(B,A)的2列唯一。用於2列的SQL Server「雙向」唯一/主鍵

例如,具有兩列UserId和FriendId的表。

如果某行有值(1,2)並且有人試圖輸入一行(2,1),那麼這將不被允許。

+3

每次插入AB時,插入BA與它一起 – Strawberry

+0

這是在開發中常用和習慣的做法嗎?它會使桌子佔用雙倍的存儲空間。 – neo112

+0

雙層泡沫。當事物呈指數級增長時,你必須開始擔心。共同?不知道。我用它。 – Strawberry

回答

1

您可以放置​​一個觸發器來檢查對方是否存在,如果是,則撤消事務。

+0

..S - L - O - W .. – Strawberry