这个默认隔离为什么是repeatable read
来源:2-5 选择练习
weixin_慕UI515575
2020-01-23 21:47:40
电商那个例子,设置了repeatable read隔离后,查询的底薪都是之前的,即使是其他事务吧底薪修改成1;
按照这个题目,如果不设置隔离级别repeatable read,其他事务把底薪修改成1后,查询的是修改后的底薪,
这样默认隔离级别就应该不是repeatable read吧,如果是的话,那么我不设置隔离级别跟设置这个隔离级别应该是一样效果才对
1回答
好帮手乔木
2020-01-31
同学你好:
mysql默认的隔离级别(可重复读(repeatable-read))。
这个操作时在两个查询面板下进行的。
第一次试验:
没有修改隔离级别,当前的隔离级别是可重复读(repeatable-read)。
查询面板A:
开启事务,修改sal字段。
查询面板B:
开启事务,查询sal字段,查询到的是修改之前的数据,由于查询面板A中的事务没有提交。
第二次试验:
老师将查询面板B的隔离级别改为读未提交级别(read-uncommitted):
查询面板A:
开启事务,修改sal字段。
查询面板B:
开启事务,查询sal字段,查询到的是修改后的数据,隔离级别为读未提交级别(read-uncommitted),因此A中的事务没有提交,B也可以读取数据。
如果我解决了同学的问题,请采纳!学习愉快^_^。
相似问题