0
A
回答
1
CREATE TABLE mytable(
id1 integer,
id2 integer
);
CREATE UNIQUE INDEX ON mytable(least(id1, id2), greatest(id1, id2));
這應該DDO的伎倆:
test=> INSERT INTO mytable VALUES (1, 2);
INSERT 0 1
test=> INSERT INTO mytable VALUES (1, 3);
INSERT 0 1
test=> INSERT INTO mytable VALUES (2, 1);
ERROR: duplicate key value violates unique constraint "mytable_least_greatest_idx"
DETAIL: Key ((LEAST(id1, id2)), (GREATEST(id1, id2)))=(1, 2) already exists.
相關問題
- 1. Postgresql約束
- 2. PostgreSQL檢查約束
- 3. POSTGRESQL的約束條件
- 4. 的PostgreSQL - 禁用約束
- 5. 連接約束去除餘量
- 6. 將PostgreSQL EXCLUDE範圍約束與UNIQUE約束結合使用
- 7. Grails領域約束映射到PostgreSQL吉斯特約束
- 8. PostgreSQL的:SERIAL遞增失敗約束INSERT
- 9. PDO沒有約束力,PostgreSQL的查詢
- 10. (PostgreSQL的)「高級」檢查約束問題
- 11. PostgreSQL中的約束和斷言
- 12. Postgresql:更改外鍵約束的操作
- 13. PostgreSQL的:默認的約束名
- 14. PostgreSQL的UNIQUE約束和參考
- 15. postgresql中的唯一約束問題
- 16. Postgresql約束檢查非ASCII字符
- 17. 使用postgresql繼承和外鍵約束?
- 18. PostgreSQL約束 - ON DELETE CASCADE不被恢復
- 19. postgresql表約束不拒絕壞插入
- 20. PostgreSQL的設置自定義約束
- 21. 的PostgreSQL - 約束由觸發器
- 22. postgresql外鍵約束,以防止重複
- 23. PostgreSQL分區約束行爲奇怪
- 24. Postgresql 9.0中的反向FK約束?
- 25. PostgreSQL中,添加約束誤差
- 26. Postgresql:有條件的唯一約束
- 27. PostgreSQL的使用約束前綴
- 28. Android postgresql連接
- 29. 通用接口約束
- 30. scipy.optimize.leastsq有約束約束
您運行的是什麼版本.. –
我爲使用PostgreSQL 9.6.2 – zlaayaa