1
我不確定我是否正確表達了這個問題,所以我會嘗試更長時間的解釋。我有這種表的:如何在多列之間執行類似集合的唯一性?
CREATE TABLE x (a int, b int);
我要考慮對(A,B)是相同的,以(B,A),並禁止重複的插入。如果PostgreSQL的有set
數據類型,我可能會申報表是這樣的:
CREATE TABLE x (
ab set,
UNIQUE (ab)
);
不過,這並不有啥這樣做的最佳方式?
不幸的是,這會阻止對(2,1)的初始插入,這不符合規則。 – jl6
@ ji6 - 規則表明'(2,1)'在語義上等同於'(1,2)',並且選擇要麼在插入時將其排序,以便插入確保使用一致的格式可以使用觸發器)或按照其他答案以這種格式存儲數據的冗餘副本。 –