Toto je stará otázka, ale stále mám stejnou chybu. OP zmínil chybu otevřenou na MySQL Workbench v jiném vláknu (http://bugs.mysql.com/bug.php?id=69800 ).
Podle dokumentu (https ://dev.mysql.com/doc/refman/5.7/en/innodb-transaction-isolation-levels.html#isolevel_repeatable-read ), Výchozí úroveň izolace je OPAKOVATELNÁ-ČTENÁ.
To znamená, že při PRVNÍM čtení transakce je vytvořen snímek databáze. Každé další čtení této transakce vám zobrazí data snímku.
Takže musíte ukončit transakci (potvrdit nebo vrátit zpět), abyste získali nový snímek při příštím čtení.
Moji kolegové, kteří nastavili MySQL Workbench na AutoCommit, nevidí chování opakovatelného čtení. Přišli jsme na to, že je to proto, že po každém SELECTu je transakce uzavřena a je vytvořen nový snímek.
Protože chyba stále není opravena, řešením by bylo:
- přepněte na automatické potvrzení, aby se nové snímky vytvořily automaticky
- nebo potvrzení/vrácení po každém SELECT pro vytvoření nového snímku