数据库隔离级别有四种
读未提交(read-uncommitted)
不可重复读(read-committed)
可重复读(repeatable-read)
串行化(serializable)
1.读未提交(read-uncommitted),事务A可以读取事务B中未提交的数据
事务A设置事务隔离级别
mysql> set session transaction isolation level read uncommited;
mysql> start transaction;
mysql> select * from users;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
| 1 | zhangsan | 123 |
| 2 | lisi | 123456 |
| 3 | wangwu | 123456 |
+----+----------+----------+
3 rows in set (0.19 sec)
B事务使用相同的事务隔离级别
mysql> set session transaction isolation level read uncommitted;
Query OK, 0 rows affected (0.00 sec)
mysql> start transaction;
mysql> select * from users;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
| 1 | zhangsan | 123 |
| 2 | lisi | 123456 |
| 3 | wangwu | 123456 |
+----+----------+----------+
3 rows in set (0.03 sec)
mysql> update users set password=123456 where id=1;
A事务,在事务中重新查询
mysql> select * from users;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
| 1 | zhangsan | 123456