我的表的定義是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的插入? 在此先感謝!