通常,我可以在MySQL表中插入一行并last_insert_id取回。但是,现在,我想将许多行批量插入表中并获取ID数组。有人知道我该怎么做吗?
有一些类似的问题,但并不完全相同。我不想将新ID插入任何临时表;我只想找回ID数组。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
旧线程,但只是研究了一下,所以去了:如果您在最新版本的MySQL上使用InnoDB,则可以使用LAST_INSERT_ID()和获得ID列表ROW_COUNT()。
如果innodb_autoinc_lock_mode设置为0(传统)或1(连续),InnoDB保证批量插入时自动递增的序号。因此,您可以通过添加获取第一个 ID LAST_INSERT_ID()和最后一个 ID ROW_COUNT()-1。来源:stack overflow