相关疑难解决方法(0)

"INSERT IGNORE"vs"INSERT ... ON DUPLICATE KEY UPDATE"

在执行INSERT包含许多行的语句时,我想跳过可能导致失败的重复条目.经过一些研究,我的选择似乎是使用:

  • ON DUPLICATE KEY UPDATE 这意味着需要花费一些不必要的更新,或者
  • INSERT IGNORE 这意味着邀请其他类型的未能在未经宣布的情况下失败.

我对这些假设是对的吗?简单地跳过可能导致重复的行并继续执行其他行的最佳方法是什么?

mysql insert

820
推荐指数
9
解决办法
82万
查看次数

MySQL中的`REPLACE`和`INSERT ... ON DUPLICATE KEY UPDATE'有什么实际区别?

我需要的是使用特定键设置记录的所有字段的值(键实际上是复合键),如果没有带有这样键的记录则插入记录.

REPLACE似乎意味着要做的工作,但同时它的手册页建议 INSERT ... ON DUPLICATE KEY UPDATE.

我应该更好地选择什么?为什么?

REPLACE我想到的唯一"副作用" 是它会增加自动增量值(幸运的是我不使用任何),而INSERT ... ON DUPLICATE KEY UPDATE可能不会.要记住的其他实际差异是什么?在哪些特定情况下可以REPLACE优先考虑INSERT ... ON DUPLICATE KEY UPDATE,反之亦然?

mysql sql replace insert

67
推荐指数
3
解决办法
3万
查看次数

标签 统计

insert ×2

mysql ×2

replace ×1

sql ×1