1、未提交读(READ UNCOMMITTED)
事务中的修改,即使没有提交,对于其他事务来说也是可见的。也就是说事务可以读取未提交的数据,也就是脏读(Dirty Read).
这是最低的隔离级别,实际的应用中一般不用这种隔离级别。
下面来模拟看下效果:
Session 1 :
mysql> show variables like '%isolation%'; 【1】
+---------------+------------------+
| Variable_name | Value |
+---------------+------------------+
| tx_isolation | READ-UNCOMMITTED |
+---------------+------------------+
1 row in set (0.00 sec)
mysql> start transaction; 【3】
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO test(num) VALUES(1); 【4】
Query OK, 1 row affected (0.00 sec)
Session 2 :
mysql> show variables like '%isolation%'; 【2】
+---------------+------------------+
| Variable_name | Value |
+---------------+------------------+
| tx_isolation | READ-UNCOMMITTED |
+---------------+------------------+
1 row in set (0.00 sec)
mysql> select * from test; 【5】
+----+------+
| id | num |
+----+------+
| 3 | 1 |
+----+------+
1 row in set (0.00 sec)
可见session 1中的更新还没