我的表的定义是Mysql的重复读得在使用时选择其他会议的承诺... FOR UPDATE
CREATE TABLE
auto_inc
(
id
INT(11)NOT NULL AUTO_INCREMENT,PRIMARY KEY(
id
))ENGINE = InnoDB的默认字符集= LATIN1
起初有四行:
| id |
| 1 |
| 2 |
| 3 |
| 4 |
我打开的会话1和执行
#session 1
set transaction isolation level REPEATABLE READ
start transaction;
select * from auto_inc
回报四行1,2,3,4.And然后我打开另一个会话2并执行
#session 2
insert into auto_inc(`id`) values(null)
,并插入成功。返回到我执行的会话1
#session 1
select * from auto_inc;#command 1
select * from auto_inc for update;#command 2
命令1返回四行1,2,3,4.But命令2返回1,2,3,4,5。任何人都可以给我一些线索为什么命令2会看到会话2的插入? 在此先感谢!