我在PostgreSQL中使用以下命令创建了一张表。
CREATE TABLE someTable (
id serial primary key,
col1 int NOT NULL,
col2 int NOT NULL,
unique (col1, col2)
);
然后执行2个插入语句。
insert into someTable (col1,col2) values(1,11),(1,12);
它可以正常工作。
insert into someTable (col1,col2) values(1,13),(1,14),(1,11);
出现错误(键(col1,col2)=(1,11)已存在)。
但我需要避免重复的键值对,如何实现?
我尝试了在x86_64-pc-linux-gnu上安装的PostgreSQL 9.5.0和PostgreSQL 9.3 ,但都出现了错误。
我需要在执行两个语句后添加如下内容。
(1,11),(1,12),(1,13),(1,14)
(1,11)
。由于您已经将col1,col2
定义为唯一,因此无法两次插入相同的元组。 - user330315