LAST_INSERT_ID() 在 MySQL 中如何处理多记录 INSERT 语句?

Mary-Kate Olsen
发布: 2024-11-17 11:48:01
原创
497 人浏览过

How does LAST_INSERT_ID() behave with multiple record INSERT statements in MySQL?

LAST_INSERT_ID() 多记录 INSERT 语句的行为

使用单个 INSERT 语句将多条记录插入 MySQL 表时,LAST_INSERT_ID()通常返回第一个插入记录的 ID,而不是

正如 MySQL 文档中所确认的,此行为可确保 INSERT 语句可以在其他服务器上准确地重现。后续记录的 ID 值不会返回,因为它无法在不同的数据库服务器之间一致分配。

示例:

考虑以下 INSERT 语句:

INSERT INTO people (name, age)
VALUES ('William', 25), ('Bart', 15), ('Mary', 12);
登录后复制

执行该语句后,LAST_INSERT_ID() 将返回 1,即第一条插入记录的 ID (威廉)。这是预期的行为,并确保可以复制该语句而不会出现意外结果。

含义:

在处理多个记录插入的代码中,请务必注意并相应地处理 ID 值。例如,如果您需要检索所有插入记录的 ID,则可能需要使用其他方法,例如返回插入的行数,然后单独检索 ID。

以上是LAST_INSERT_ID() 在 MySQL 中如何处理多记录 INSERT 语句?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板