MySQL 幻读

SESSION1                                                            SESSION2
mysql -uroot -h192.168.60.159 test                                  mysql -uroot -h192.168.60.159 test
delete from t;
insert into t values(1,'a');

select @@global.tx_isolation, @@tx_isolation;                       select @@global.tx_isolation, @@tx_isolation;
+-----------------------+-----------------+                         +-----------------------+-----------------+
| @@global.tx_isolation | @@tx_isolation  |                         | @@global.tx_isolation | @@tx_isolation  |
+-----------------------+-----------------+                         +-----------------------+-----------------+
| REPEATABLE-READ       | REPEATABLE-READ |                         | REPEATABLE-READ       | REPEATABLE-READ |
+-----------------------+-----------------+                         +-----------------------+-----------------+

START TRANSACTION;                                                   START TRANSACTION;
select * from t ;
Empty set (0.00 sec)
                                                                     insert into t values(2,'a');
select * from t ;
+----+------+
| id | name |
+----+------+
|  1 | a    |
+----+------+
                                                                      commit;
select * from t ;
+----+------+
| id | name |
+----+------+
|  1 | a    |
+----+------+

update t set name='z' where name='a'; 
Query OK, 2 rows affected (0.00 sec) -- 发现明明一天数据,修改的时候改了两条数据
Rows matched: 2  Changed: 2  Warnings: 0

select * from t;  --幻读出现了
+----+------+
| id | name |
+----+------+
|  1 | z    |
|  2 | z    |
+----+------+


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值