相关疑难解决方法(0)

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

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

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

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

mysql insert

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

MySQL ON DUPLICATE KEY - 最后一次插入ID?

我有以下查询:

INSERT INTO table (a) VALUES (0)
  ON DUPLICATE KEY UPDATE a=1
Run Code Online (Sandbox Code Playgroud)

我想要插入或更新的ID.通常我会运行第二个查询以获取此信息,因为我认为insert_id()只返回'inserted'ID而不是更新的ID.

有没有办法INSERT/UPDATE并检索行的ID而不运行两个查询?

mysql insert-id

125
推荐指数
2
解决办法
7万
查看次数

标签 统计

mysql ×2

insert ×1

insert-id ×1