关于READ UNCOMMITTED和REPEATABLE READ

来源:3-14 锁模块之事务并发访问产生的问题以及事务隔离机制

long真困

2019-03-20

老师你好,你在上节课READ UNCOMMITTED这个事务级别下的更新语句是set 900 + 200,最后balance为1100,导致了数据错误,而在本节课中的REPEATABLE READ这个事务级别下的更新语句是set balance -100,结果数据无误。第二个更新语句是有使用变量的。我比较疑惑的地方就是说,其实在REPEATABLE READ事务级别下,使用类似第一个更新语句如 set 1600 -100还是一样的会有数据错误的情况发生呀,这样不是还是会出现数据脏读的情况么?麻烦老师为我解答一下,谢谢!

写回答

1回答

翔仔

2019-03-21

同学好,咱们里面举例是站在调用数据库的应用的基础上的,脏读指的是读取别的事务还未提交的数据,在Read UNCOMMITTED确实会发生,但是在REPEATABLE READ下面,只会读取已提交的事务,因此后续读出来的结果是最新的已经提交的结果呢。

1
0

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程