许多开发人员都会遇到需要高效地向 MySQL 表中插入大量行并获取其对应 ID 的情况。 传统上,使用 LAST_INSERT_ID() 检索最后插入的 ID 很简单,但批量插入过程需要修改方法。
解决方案:
对于 MySQL InnoDB 表,一个解决方案将 LAST_INSERT_ID() 与 ROW_COUNT() 结合使用。该策略依赖于 InnoDB 在批量插入期间维持顺序编号的固有能力,假设 innodb_autoinc_lock_mode 参数设置为 0(传统)或 1(连续)。
因此,通过获取代表第一个插入的ID的LAST_INSERT_ID(),并加上ROW_COUNT() - 1,我们就得到了最终插入的ID。这个方法使我们能够无缝地建立一个ID数组。
以上是如何高效地将多行插入MySQL并检索它们的所有ID?的详细内容。更多信息请关注PHP中文网其他相关文章!