【发布时间】:2021-05-01 13:40:25
【问题描述】:
我在一个语句中进行多次插入,例如:
INSERT INTO table (foo) VALUES ('aaa'), ('bbb'), ('ccc')
当我尝试获取最后一个插入 id 时,MySQL (PDO) 只给出第一个插入 id。
由于我知道我插入了多少项目(上例中的三个项目),只要 INSERT 作为事务完成,手动计算插入的 id 是否可靠?
例如,如果 MySQL 返回的第一个插入 id 是 5,我是否可以安全地假设上述 INSERT 示例的插入 id 是 5、6、7?或者如果另一个用户同时插入,即使他们是作为事务完成的,是否仍然存在重叠的可能性?
建议的重复 question 虽然相似,但并没有明确回答我的问题。那里接受的答案只是说只给出第一个插入ID是预期的行为,我同意,但我的问题是关于手动计算方法的可靠性。那里的 cmets 部分也看起来很有趣。
【问题讨论】:
标签: php mysql database pdo innodb