使用 PDO 运行以下查询(实际上,我使用准备好的语句,但有同样的问题)
INSERT INTO MyTable(MyField) VALUES('Row1'), ('Row2')
如何获取与以下内容相关的记录的 IDRow1
and Row2
?
$db->lastInsertId()
从字面上返回最后一个 ID。
获取最后一个 ID,减去记录数并假设范围涵盖我的所有记录是否足够?是否可以有间隙/跳跃。这个查询保证是原子的吗?
如果您使用 MyISAM 表,那么由于表级锁定机制,您只能获得给定的 id 范围。
看完之后http://dev.mysql.com/doc/refman/5.5/en/innodb-auto-increment-handling.html#innodb-auto-increment-traditional http://dev.mysql.com/doc/refman/5.5/en/innodb-auto-increment-handling.html#innodb-auto-increment-traditional假设您使用“传统”innodb 锁定(很可能是这样),那么对于单个语句,ID 集将是连续的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)