隔离性还是没有变化

来源:2-4 事务的隔离级别

一只可爱的orange

2019-08-12 10:15:33

我在两个查询里面查了,第二个查询结果用到第一个的查询结果了

写回答

1回答

慕之熠_灿烈

2019-08-12

同学,你好。

根据你的描述,无法准确定位问题!!初步推断是在测试事务的可重复读这一事务隔离级别时遇到的问题,针对该问题做出以下说明:

(1)先开启一个事务进行数据的更新操作,先执行方框1中的两步骤,如下图:

http://img.mukewang.com/climg/5d5136670001768f06910261.jpg

(2)开启另一个事务 ,并设置其隔离级别(方框1),然后开启事务(方框2),最后执行方框3中的内容,如下如:

http://img.mukewang.com/climg/5d5137880001844112030305.jpg

(3)切换查询面板如(1)中图示,并执行(1)中图示的方框2内容(也就是事务提交)

(4)切换至(2)中所示查询面板,并继续执行方框3,查询结果

以上是关于可重复读事务隔离级别验证的正确做法,若在(2)中没有执行方框3中的查询语句,此时再执行(4)中的操作,就会受到第一个事务提交的影响,原因是事务的可重复读是从对应的日志文件中查询数据,若之前并未执行过查询,对应的日志文件也就没对应的数据,所以只能从数据库中加载最新数据,致使数据发生错误。

若你的应用场景跟上述不同,请到问答区重新提问(附上应用场景和对应的代码图示)。

如果我的回答解决了您的疑惑,请采纳!祝~学习愉快~

0

0 学习 · 2669 问题

查看课程