将行插入到具有唯一键的表中可能会带来挑战您需要避免重复输入。处理重复项的标准语法是使用 INSERT ... ON DUPLICATE KEY UPDATE ...,这会使用提供的值更新现有行。但是,如果您不想执行任何更新而只是忽略重复插入怎么办?
幸运的是,有针对这种情况的解决方案。您可以使用以下语法来代替使用 UPDATE 子句:
INSERT ... ON DUPLICATE KEY UPDATE>
通过将主键分配回其自身,当遇到重复键时,此语句基本上不执行任何操作。该行将被跳过,没有任何错误或更新操作。
如果您不关心潜在错误,则适合的另一个选项是使用 INSERT IGNORE:
INSERT IGNORE INTO <table_name> (...) VALUES (...)
此语句将尝试插入一行,忽略由于重复键或其他因素可能出现的任何错误。但是,需要注意的是,使用 INSERT IGNORE 可能有一定的限制,例如自动增量字段耗尽和可能的外键错误。
以上是MySQL插入数据时如何忽略重复键?的详细内容。更多信息请关注PHP中文网其他相关文章!