【发布时间】:2011-10-01 14:13:02
【问题描述】:
假设我在 MySQL 中执行 INSERT / ON DUPLICATE KEY UPDATE,它更新了一堆行。并且该表有一个自增主键。
有什么简单的方法让 MySQL 告诉我它刚刚更新的行的 ID?
我知道我可以执行另一个 SELECT 查询来查找与 INSERT 语句使用的相同的约束,这并不难编写,但如果 MySQL 可以只跟踪 ID 似乎会更有效我。
我在手册中看到了有关 LAST_INSERT_ID 的技巧,适用于有单个插入/更新行的情况,但我想知道您要更新多行的情况。
【问题讨论】:
-
我很确定答案是否定的。您需要在每次插入/更新每一行之前放弃扩展插入并检查约束。
-
Mchl:以下两个答案都提供了创造性的可能解决方法,但正如所问的,您的答案看起来是正确的。 :-)
标签: mysql