私はJDBCを使ってMySQLでファントムの読み取りを実証しようとしています。 REPEATABLE-READ分離レベルの下では、ファントムが可能でなければならないことを理解しています。しかし、私は起こることができません。次のように私の取引が設定されています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:私はB/C私は(のStatement.executeを使用している配列でそれらを持っている
querySetTwo[0] = "use adventureworks";
querySetTwo[1] = "select sleep(2)";
querySetTwo[2] = "insert into vendorcontact values (105, 700, 20, NULL)";
querySetTwo[3] = "COMMIT";
)メソッドを使って各行を実行し、自動コミットをfalseに設定しました。
なぜquerySetOne [1]とquerySetOne [3]のクエリは、繰り返し可能な読み取り分離レベルで同じ結果を返しますか?
この質問を読む:[?ファントムを生成する方法は、読み込み](http://stackoverflow.com/questions/5444915/how-to-produce-phantom-reads) –