gpt4 book ai didi

php/mysql 防止多列上的重复条目

转载 作者:行者123 更新时间:2023-11-29 15:38:36 26 4
gpt4 key购买 nike

我想提出一个标准做法来防止任何表在重要的地方出现重复。在大多数情况下,重复项是变量的组合而不是一个。我的主键只是每个字段的唯一 ID,因此我无法使用它们。我一直在做的是首先查询表,然后如果相关组合的行数为 0,则进行插入。但是,我读过应该可以在多个字段上设置唯一键以强制唯一性。 INSERT IGNORE 听起来是一个很好的可能性,但是,我需要它忽略多个列。

举个例子,对于字段 follower 和 followed,表中可以有多个 follower 和 followed,但只能是两者的组合。

任何人都可以建议语法首先在多个字段上创建唯一键,然后执行 SQL 插入查询以防止重复吗?非常感谢。

最佳答案

您可以简单地在这些列上创建多列索引并强制执行唯一性:请参阅 MySQL 手册:http://dev.mysql.com/doc/refman/5.0/en/multiple-column-indexes.html

例如,在包含 id(唯一主键)、colAcolB 列的表中,您可以运行:

ALTER TABLE table ADD UNIQUE KEY (colA,colB)

就是这样:任何导致这两列中出现重复条目​​的 INSERT 现在都将返回 MySQL 错误,而不是继续执行。如果您使用 INSERT IGNORE,如果执行它会违反此唯一约束,则不会引发 MySQL 错误,并且您的 INSERT 语句将被悄悄忽略。

关于php/mysql 防止多列上的重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57938642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com