Questa è una vecchia domanda, ma ho ancora lo stesso bug.OP ha menzionato un bug aperto su MySQL Workbench in un altro thread (http://bugs.mysql.com/bug.php?id=69800 ).
Secondo doc (https ://dev.mysql.com/doc/refman/5.7/en/innodb-transaction-isolation-levels.html#isolevel_repeatable-read ), il livello di isolamento predefinito è REPEATABLE-READ.
Ciò significa che viene eseguita un'istantanea del database alla PRIMA lettura della transazione. Ogni altra lettura di questa transazione ti mostrerà i dati dello snapshot.
Quindi è necessario terminare la transazione (commit o rollback) per ottenere un nuovo snapshot alla lettura successiva.
I miei colleghi che hanno impostato MySQL Workbench su AutoCommit non vedono il comportamento di lettura ripetibile. Abbiamo scoperto che è perché dopo ogni SELECT, la transazione viene chiusa e viene creata una nuova istantanea.
Quindi, poiché il bug non è stato ancora corretto, una soluzione alternativa sarebbe:
- passa all'autocommit per la creazione automatica di nuovi snapshot
- o commit/rollback dopo ogni SELECT per creare una nuova istantanea