这个默认隔离为什么是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):

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

查询面板A:

开启事务,修改sal字段。

查询面板B:

开启事务,查询sal字段,查询到的是修改后的数据,隔离级别为读未提交级别(read-uncommitted),因此A中的事务没有提交,B也可以读取数据。

如果我解决了同学的问题,请采纳!学习愉快^_^。


1

0 学习 · 2669 问题

查看课程