开发者社区> 问答> 正文

MySQL LAST_INSERT_ID()与多个记录INSERT语句一起使用?mysql

如果我通过执行单个记录插入的循环插入多个记录,则按预期返回的最后一个插入id是最后一个。但是,如果我执行多条记录插入语句:

INSERT INTO people (name,age) VALUES ('William',25), ('Bart',15), ('Mary',12); 假设上面的三个是插入表中的第一条记录。在插入语句之后,我希望最后一个插入ID返回3,但返回1。有关语句的第一个插入ID。

所以有人可以确认这是否是在LAST_INSERT_ID()多条记录INSERT语句的上下文中的正常行为。因此,我可以将代码作为基础。

展开
收起
保持可爱mmm 2020-05-17 17:44:06 544 0
1 条回答
写回答
取消 提交回答
  • 是。这种行为last_insert_id()是在MySQL的文档记录:

    重要 如果您使用一条INSERT语句插入多行,则仅LAST_INSERT_ID()返回为第一行插入而生成的值。这样做的原因是使INSERT针对其他服务器轻松重现相同的语句成为可能。来源:stack overflow

    2020-05-17 17:53:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像