如果我通过执行单个记录插入的循环插入多个记录,则按预期返回的最后一个插入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针对其他服务器轻松重现相同的语句成为可能。来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。