如果我使用执行单个记录插入的循环插入多个记录,则返回的最后一个插入 ID 正如预期的那样,是最后一个。但是如果我执行多条记录插入语句:
INSERT INTO people (name,age)
VALUES ('William',25), ('Bart',15), ('Mary',12);
假设上面的三条记录是插入表中的第一条记录。在插入语句之后,我期望最后一个插入 id 返回 3,但它返回 1。相关语句的第一个插入 id。
有人可以确认这是否是正常行为LAST_INSERT_ID()
在多记录 INSERT 语句的上下文中。所以我可以基于它来编写我的代码。
是的。这种行为的last_insert_id()
is 记录在 MySQL 文档中:
重要的
如果您使用单个插入多行INSERT陈述,LAST_INSERT_ID()仅返回为第一个插入行生成的值。这样做的原因是为了可以轻松地重现相同的内容INSERT针对其他服务器的声明。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)