不可重复读演示步骤1
设置窗口 2 的事务隔离级别为读已提交,设置命令如下:
set session transaction isolation level read committed;
PS:读已提交可以解决脏读的问题,但存在不可重复读的问题。
使用命令来检查当前连接窗口的事务隔离界别,如下图所示:
在窗口 2 中开启事务,并查询用户表,执行结果如下:
此时查询的列表中,Java 用户的余额为 100 元。
不可重复读演示步骤2
在窗口 1 中开启事务,并给 Java 用户添加 20 元,但不提交事务,再观察窗口 2 中有没有脏读的问题,具体执行结果如下图所示:
从上述结果可以看出,当把窗口的事务隔离级别设置为读已提交,已经不存在脏读问题了。接下来在窗口 1 中提交事务,执行结果如下图所示: