PDO获取多个插入ID

Bas*_*sic 5 mysql sql pdo insert last-insert-id

使用PDO运行以下查询(实际上,我使用预处理语句,但同样的问题)

INSERT INTO MyTable(MyField) VALUES('Row1'), ('Row2')

如何获取与Row1和有关的记录的ID Row2

$db->lastInsertId() 字面上返回最后一个单独的Id.

获取最后一个Id是否足够,减去记录数并假设该范围涵盖了我的所有记录?可以有空隙/跳跃.这个查询是否保证是原子的?

Jam*_*s C 3

如果您使用 MyISAM 表,那么由于表级锁定机制,您只能获得给定的 id 范围。

阅读http://dev.mysql.com/doc/refman/5.5/en/innodb-auto-increment-handling.html#innodb-auto-increment-traditional后假设您正在使用“传统”innodb锁定(这可能是你是)那么对于单个语句来说,ID 集将是连续的。