首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重复关键字上的MySQL -最后插入id?

问重复关键字上的MySQL -最后插入id?
EN

Stack Overflow用户
提问于 2009-04-22 18:22:31
回答 4查看 79K关注 0票数 148

我有以下疑问:

代码语言:javascript
复制
INSERT INTO table (a) VALUES (0)
  ON DUPLICATE KEY UPDATE a=1

我需要insert或update的ID。通常我会运行第二次查询来获得这个结果,因为我相信insert_id()只返回“插入”的ID,而不返回更新后的ID。

有没有一种方法可以在不运行两个查询的情况下插入/更新和检索行的ID?

EN

回答 4

Stack Overflow用户

发布于 2009-04-22 18:40:42

您可能会看到REPLACE,如果记录存在,这实际上是一个删除/插入操作。但这将更改自动增量字段(如果存在),这可能会中断与其他数据的关系。

票数 2
EN

Stack Overflow用户

发布于 2009-04-22 21:02:50

我不知道你的MySQL版本是什么,但是在InnoDB上,autoinc有个bug

5.1.20中的错误,并在5.1.23 http://bugs.mysql.com/bug.php?id=27405中更正

5.1.31中的错误,并在5.1.33 http://bugs.mysql.com/bug.php?id=42714中更正

票数 2
EN

Stack Overflow用户

发布于 2019-11-26 20:50:50

我遇到了一个问题,在重复键更新时,id=LAST_INSERT_ID( id )将主键递增1。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/778534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档