【发布时间】:2013-03-19 10:10:24
【问题描述】:
我有一个带有插入多行语法的 INSERT:
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
使用 MySQL 函数 LAST_INSERT_ID() 可以检索生成的 AUTO_INCREMENT 列的主键,但是如何检索行 (1,2,3)、(4,5,6) AND (7,8) 的主键,9) 插入一个唯一的 SQL INSERT 指令?
编程语言为 PHP 5.4.13 和 MySQL Server 5.6.10
【问题讨论】:
-
假设您的增量为 1,LAST_INSERT_ID 为您提供值的第一个 pk,并且在一个查询中插入多个值可防止其他写入,直到您完成您可以预测后续 pk 的内容
-
@TysonoftheNorthwest 可能会从单个插入中获取非连续的 auto_increment 值 - 这取决于数据库引擎和配置。
-
@Vatev 我专门询问 MySQL。
-
数据库引擎是指 InnoDB、MyISAM....
标签: php mysql primary-key auto-increment multiple-insert