如何在以下架构中插入多个行或值,并避免重复.
表架构为
id,subject1,subject2,subject3
id是自动递增的.
复制将是记录中所有subject1,subject2,subject3已经以完全相同的顺序存在的地方.
INSERT INTO "table_name" ("subject1","subject2","subject3")
VALUES ("cats", "dogs", "hamsters")
VALUES ("squirrels", "badgers", "minxes")
VALUES ("moose", "deer", "ocelots")
在表中,假设我已经有一个记录
id,subject1,subject2,subject3
1,"cats", "dogs", "hamsters"
所以我只想插入
VALUES ("squirrels", "badgers", "minxes")
VALUES ("moose", "deer", "ocelots")
我已经看到了有关避免对单个项目重复的答案,但对于3个项目却没有.
解决方法:
您想将UNIQUE约束添加到表中.如果单独写出UNIQUE约束,则将如何将其应用于列的任意组合变得更加清楚.
CREATE TABLE table_name (
subject1 VARCHAR(30),
subject2 VARCHAR(30),
subject3 VARCHAR(30),
UNIQUE (subject1, subject2, subject3)
);