如何在表格中的兩個字段上有效創建唯一索引,如下所示: create table t(integer,b integer);如何在兩個字段上創建「雙面」唯一索引?
其中兩個不同數字的任何唯一組合不能在表中的同一行上出現超過一次。
如果一行存在使得a = 1且b = 2,則另一行不能存在,其中a = 2且b = 1或a = 1且b = 2。換句話說,兩個數字不能以任何順序一次出現超過一次。
我不知道這樣的約束被稱爲什麼,因此標題中的'雙面唯一索引'名稱。
更新:如果我在列(a,b)上有一個組合鍵,並且數據庫中存在一行(1,2),則可以在沒有錯誤的情況下插入另一行(2,1) 。我正在尋找的是被用來不止一次以任意順序 ...
你的第一個答案對我來說是完美的。謝謝。 我希望能有一個更「自然」的解決方案,但我想這就是它。 – 2008-10-23 17:20:21