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