mysql事务未结束时,可获取新增数据id,可修改新增数据

好奇为何mybatsi在事务未结束时,可以获得新增数据的id。用mysql语句试试:

目前id到29,下次自增到30

1.开一个事务新增语句,不提交事务

2.新建窗口执行新增

3.第2条语句执行成功,id为31,因为30被第一条语句使用了

4.提交第一条语句事务,记录出现

5.如果第一条语句,事务回滚,则30id不会再被使用,以后新增语句从32开始,可以试试。

6.在新增事务未提交前,可修改事务中 正在新增的数据。

如下,假设预判到新增语句执行后,数据id是29,在事务中修改 29的数据,再提交,结果是新增和修改都成功。

猜你喜欢

转载自blog.csdn.net/u014203449/article/details/111317798