首页 > 数据库 > mysql教程 > LAST_INSERT_ID() 在 MySQL 中插入多条记录时如何表现?

LAST_INSERT_ID() 在 MySQL 中插入多条记录时如何表现?

Barbara Streisand
发布: 2024-11-11 13:05:03
原创
498 人浏览过

How Does LAST_INSERT_ID() Behave with Multiple Record Inserts in MySQL?

理解 LAST_INSERT_ID() 多记录插入的行为

在 MySQL 中处理多记录插入时,必须理解 LAST_INSERT_ID() 的行为LAST_INSERT_ID() 函数。与单记录插入不同,LAST_INSERT_ID() 在与多记录插入语句一起使用时表现出独特的行为。

预期行为

直观上,人们可能期望 LAST_INSERT_ID( ) 函数返回多记录插入的最后插入的 ID。然而,事实并非如此。

实际行为

如 MySQL 文档中所述,LAST_INSERT_ID() 将仅返回为 生成的 ID row 插入多记录插入语句中。这是故意为了在不同服务器上轻松复制相同的语句。

例如,考虑以下多记录插入语句:

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

即使它插入了三行, LAST_INSERT_ID() 将返回“William”的 ID,因为它代表第一个插入的记录。

对代码的影响

此行为会对您的代码产生影响。如果您依靠 LAST_INSERT_ID() 来捕获多记录插入中所有插入记录的 ID,则您将仅获得第一条记录的 ID。为了准确检索所有插入记录的 ID,您可以将 RETURNING 子句与 INSERT 语句结合使用,或者考虑其他方法,例如使用循环逐条插入记录。

以上是LAST_INSERT_ID() 在 MySQL 中插入多条记录时如何表现?的详细内容。更多信息请关注PHP中文网其他相关文章!

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