これは古い質問ですが、それでも同じバグがあります。OPは、MySQL Workbenchで別のスレッドで開かれたバグについて言及しました( http://bugs.mysql.com/bug.php?id=69800 。
ドキュメントによると( https ://dev.mysql.com/doc/refman/5.7/en/innodb-transaction-isolation-levels.html#isolevel_repeatable-read )、デフォルトの分離レベルはREPEATABLE-READです。
これは、データベースのスナップショットがトランザクションの最初の読み取り時に作成されることを意味します。このトランザクションを1回読み取るたびに、スナップショットのデータが表示されます。
したがって、次の読み取りで新しいスナップショットを取得するには、トランザクションを終了する(コミットまたはロールバックする)必要があります。
MySQL WorkbenchをAutoCommitに設定した私の同僚は、繰り返し読み取りの動作を認識していません。これは、各SELECTの後にトランザクションが閉じられ、新しいスナップショットが作成されるためであることがわかりました。
したがって、バグはまだ修正されていないため、回避策は次のようになります:
- 新しいスナップショットが自動的に作成されるように自動コミットに切り替えます
- または各SELECTの後にコミット/ロールバックして新しいスナップショットを作成します