我试图通过使用JDBC来演示在MySQL中幻像读取。我知道在REPEATABLE-READ隔离级别下,幻影应该是可能的。但我不能得到一个发生。我的交易被设置如下:试图在可重复读取隔离级别下在MySQL中创建一个幻影
交易1:
querySetOne[0] = "use adventureworks";
querySetOne[1] = "select * from vendorcontact where ContactTypeID between 10 and 30";
querySetOne[2] = "select sleep(20)";
querySetOne[3] = "select * from vendorcontact where ContactTypeID between 10 and 30";
querySetOne[4] = "COMMIT";
事务2:
querySetTwo[0] = "use adventureworks";
querySetTwo[1] = "select sleep(2)";
querySetTwo[2] = "insert into vendorcontact values (105, 700, 20, NULL)";
querySetTwo[3] = "COMMIT";
我有他们在阵列B/C我使用的Statement.execute()方法来执行每一行,我有autocommit设置为false。
为什么querySetOne [1]和querySetOne [3]的查询在可重复读取隔离级别下返回相同的结果?
阅读此问题:[如何生成幻读?](http://stackoverflow.com/questions/5444915/how-to-produce-phantom-reads) – 2012-03-23 00:56:23