我有PostgreSQL表
id ColA ColB
------------------
1 'a' 'b'
2 'c' 'd'
Run Code Online (Sandbox Code Playgroud)
我希望ColA和ColB中的值在两列中都是唯一的,即任何这些插入都是禁止的:
INSERT INTO table (ColA,ColB) values('a','e');
INSERT INTO table (ColA,ColB) values('z','a');
INSERT INTO table (ColA,ColB) values('d','g');
Run Code Online (Sandbox Code Playgroud)
并允许任何这些插入:
INSERT INTO table (ColA,ColB) values('z','e');
INSERT INTO table (ColA,ColB) values('l','k');
Run Code Online (Sandbox Code Playgroud)
所以
CONSTRAINT unique_name UNIQUE (ColA,ColB)
Run Code Online (Sandbox Code Playgroud)
不适合,因为它将允许以前的4个插入中的任何一个.