我尝试按照下面的示例进行操作,但是得到了不同的结果,即会话A中的第二个选择返回会话B插入的新行。
示例来自http://dev.mysql.com/doc/refman/5.6/en/innodb-consistent-read.html。我使用的是5.5。
Session A Session B
SET autocommit=0; SET autocommit=0;
time
| SELECT * FROM t;
| empty set
| INSERT INTO t VALUES (1, 2);
|
v SELECT * FROM t;
empty set
COMMIT;
SELECT * FROM t;
empty set
COMMIT;
SELECT * FROM t;
---------------------
| 1 | 2 |
---------------------
1 row in set
更新 我在会话A和B中都改变了交易,如下所示,但问题仍然存在。
SET autocommit=0; -- I think this line is redundant given the line below
set transaction isolation level read committed;
start transaction;
有什么想法吗?