脏读、脏写、不可重复读、幻读

2020-11-12  本文已影响0人  Franck_

脏写:
A事务和B事务一起去操作同一条数据。

id=1的age字段的数据值原先=null
1 A事务更新数据的值 = 1
2 B事务更新数据的值 = 2
3 A事务进行了回滚 值= null

B事务更新了数据,到最后数据却=null,这就是脏写。

脏读:
A事务和B事务一起去操作同一条数据。

id=1的age字段的数据值原先=null
1 事务A,更新了数据值=1
2 事务B,读取到数据差1
3 事务A进行回滚 ,值= null
4 事务B再去读数据值,发现=null,不是第一次读取的1

不可重复读:
A事务和B事务一起去操作同一条数据。

id=1的age字段的数据值原先=null

1 事务A读取数据值=null
2 事务B更新数据值=1,并提交事务。
3 事务A读取数据值=1 , 数据值已经变成1,读不回null了。

幻读:
数据表里面没有数据。

1 事务A 获取所有数据,发现是null
2 事务B插入2条数据。
3 事务A执行相同的获取所有数据的SQL,发现有2条数据。

幻读是指,执行同样的SQL,读取出来的数据却是不一样的。

上一篇 下一篇

猜你喜欢

热点阅读