1. 事务的隔离级别
1.1 read uncommited:读未提交。一个事务读到了另一个事务未提交的脏数据,称之为脏读。
1.2 read commited:读已提交。解决了脏读问题,但当前事务两次的读取内容由于另一个事务修改并提交而不一致,出现了不可重复读。
1.3 repeatable read:可重复读。解决了不可重复读,也就是当前事务读不到其它事务修改并提交的数据,从而不会出现不可重复读问题。
1.4 serializable:串行化。解决了幻读问题,也就是当前事务没有结束,其它事务无法进行其它任何操作,串行化操作。
2. 各个隔离级别的功能验证
2.1 首先,MySQL的默认隔离级别是可重复读,如下。
2.2 读未提交隔离级别下的操作。
虽然系统属性可以作用于所有会话,但是每次系统属性更改后并不能立即在当前会话中起作用,需要退出重新进入;所以为了不退出重新进入,我们进入每个会话,都对当前会话的自动提交和隔离级别进行修改,操作如下。
// 更改当前会话的隔离级别和自