如何在mysql中插入多个值并避免重复

如何在以下架构中插入多个行或值,并避免重复.

表架构为

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)
);
上一篇:如果其他值重复,如何更新MySQL表中的值?


下一篇:mysql-删除重复的行,除了其中行包含NULL值的**,**