MySQL自动递增反转

时间:2015-12-17 15:08:23

标签: php mysql mariadb

我已经快速连续地在同一张桌子上执行了两个INSERT 使用第一个查询的last_insert_id,我为第二个查询填充了一个字段。

该表在主键上有自动增量。

一切正常,但有一次发生了什么:

第一个INSERT返回last_insert_id,即1000

第二个INSERT返回id 999,在记录中,填充了先前INSERT的密钥的字段为1000

我再也没有注意到这种行为。

这怎么可能发生?

EDITED ----

我无法发布代码,INSERT查询是由我构建的类自动创建的,但我可以重现该算法:

1 - 使用INSERT记录保存#1

2 - 获取#1

的ID

{3} - 如果有更多记录需要记忆

4 - Foreach记录#X保存,id_refer = id#1

说明是相应的,而非异步。

该表是InnoDB,没有事务表对于每个INSERT都是相同的

0 个答案:

没有答案