如何在插入时忽略重复键?
您正在尝试将数据插入到标记字段具有 UNIQUE 约束的表中。要忽略任何重复的标记,您需要寻求一种忽略这些重复插入的解决方案。
解决方案:
不要使用抑制所有错误的 INSERT IGNORE,而是考虑使用下列的方法:
INSERT INTO table_tags (tag) VALUES ('tag_a'),('tab_b'),('tag_c') ON DUPLICATE KEY UPDATE tag=tag;
说明:
通过使用ON DUPLICATE KEY UPDATE,如果数据库中已经存在任何标签,则其值将不会被更新。这意味着重复插入将被忽略而不会导致错误。您提供的带有“*”的代码将不起作用,因为它没有指定应忽略哪个标签。
示例:
当您执行上述查询时,您会注意到显示以下消息:
Query OK, 0 rows affected (0.07 sec)
这表明数据已成功插入,任何重复的标签都会被删除被忽略。
以上是如何在 SQL 中忽略重复的键插入而不出错?的详细内容。更多信息请关注PHP中文网其他相关文章!