read uncommitted 未提交讀:就是一個事務可以讀取另一個未提交事務的數據。
打開兩個mysql會話,分別設置成為read uncommitted 未提交讀的隔離級別
mysql> set session transaction isolation level read uncommitted;
Query OK, 0 rows affected (0.00 sec)
mysql> select @@session.transaction_isolation;
+---------------------------------+
| @@session.transaction_isolation |
+---------------------------------+
| READ-UNCOMMITTED |
+---------------------------------+
1 row in set (0.00 sec)
mysql>
1)事務A,只修改sid = 4 的version,並不commit;

2)事務B,先后兩次查詢software表 兩次結果不同,第二次select得到的結果是,事務A沒有commit的數據。

總結:事務B,先后兩次查詢software表 兩次結果不同,第二次select得到的結果是,事務A沒有commit的數據,此時如果事務A發生回滾了,就會造成數據的不准確,不一致!
此時可能就出現了臟讀,事務B獲取到的sid = 4 的 version = 4 一旦事務A發生了回滾,sid=4的version實際會變為44,此時的事務B得到的sid=4的version = 4就是臟讀!
