我似乎无法让32位x86 Debian上的MySQL 5.0.32遵守事务隔离级别。
我已将问题简化为其最简形式,并使用mysql命令行客户端进行了测试:
-- On node writer:
--
DROP TABLE test;
CREATE TABLE test (
name VARCHAR(255)
);
set autocommit=0;
set transaction isolation level read committed;
begin;
-- On node reader:
--
set autocommit=0;
set transaction isolation level read committed;
begin;
-- On node writer:
--
INSERT INTO test VALUES ('bob');
-- On node reader:
--
SELECT * from test;
-- Returns the row with bob in it!!!
可能相关的是,我注意到即使回滚后行仍然存在!
所以我的猜测是自动提交并没有真正禁用,因此事务隔离级别被有效地忽略了?
再见, Sheldon。