我已经快速连续地在同一张桌子上执行了两个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都是相同的