https://dev.mysql.com /doc/refman/5.7/en/innodb-autocommit-commit-rollback.html zegt:
Dus als je autocommit=0 instelt in een sessie (noem het sessie 1), dan wordt dit impliciet opent een transactie, en laat deze voor onbepaalde tijd open.
Het standaard transactie-isolatieniveau is HERHAALBAAR-LEZEN. Uw sessie krijgt dus geen vernieuwde weergave van vastgelegde wijzigingen van het werk van andere sessies totdat sessie 1 expliciet vastlegt of terugdraait.
Uw LOCK TABLES in een andere sessie 2 doet een impliciete commit veroorzaken, maar sessie 1 ziet het resultaat niet omdat het nog steeds alleen een geïsoleerde weergave van de gegevens kan zien vanwege zijn eigen transactie-snapshot.