MySQL LAST_INSERT_ID()与多个记录INSERT语句一起使用
如果我通过执行单个记录插入的循环插入多个记录,则按预期返回的最后一个插入id是最后一个。但是,如果我执行多条记录插入语句:
INSERT INTO people (name,age)VALUES ('William',25), ('Bart',15), ('Mary',12);
假设上面的三个是插入表中的第一条记录。在插入语句之后,我希望最后一个插入ID返回3,但返回1。有关语句的第一个插入ID。
所以有人可以确认这是否是在LAST_INSERT_ID()
多条记录INSERT语句的上下文中的正常行为。因此,我可以将代码作为基础。
回答:
是。这种行为last_insert_id()
是在MySQL的文档记录:
重要
如果您使用一条
INSERT
语句插入多行,则仅LAST_INSERT_ID()
返回为第一行插入而生成的值。这样做的原因是使INSERT
针对其他服务器轻松重现相同的语句成为可能。
以上是 MySQL LAST_INSERT_ID()与多个记录INSERT语句一起使用 的全部内容, 来源链接: utcz.com/qa/407866.html