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. PostgreSQL的約束問題
- 6. 約束表列名(postgresql)
- 7. 的PostgreSQL - 禁用約束
- 8. 由jdbc禁用postgresql約束
- 9. 用繩索約束連接網格
- 10. 連接約束去除餘量
- 11. sql左外連接約束列
- 12. 裝載機約束的java連接
- 13. 連接java與約束邏輯編程
- 14. 從連接中提取約束
- 15. 將PostgreSQL EXCLUDE範圍約束與UNIQUE約束結合使用
- 16. Grails領域約束映射到PostgreSQL吉斯特約束
- 17. C#接口約束
- 18. PostgreSQL中的約束和斷言
- 19. (PostgreSQL的)「高級」檢查約束問題
- 20. postgresql外鍵約束,以防止重複
- 21. postgresql中的唯一約束問題
- 22. 約束排除隨着PreparedStatments - PostgreSQL的
- 23. PostgreSQL的:默認的約束名
- 24. postgresql表約束不拒絕壞插入
- 25. PostgreSQL的UNIQUE約束和參考
- 26. PostgreSQL的使用約束前綴
- 27. 的PostgreSQL - 約束由觸發器
- 28. PostgreSQL分區約束行爲奇怪
- 29. Postgresql約束檢查非ASCII字符
- 30. PDO沒有約束力,PostgreSQL的查詢
您運行的是什麼版本.. –
我爲使用PostgreSQL 9.6.2 – zlaayaa