https://dev.mysql.com /doc/refman/5.7/en/innodb-autocommit-commit-rollback.html dit :
Ainsi, lorsque vous définissez autocommit=0 dans une session (appelez-la session 1), cela s'ouvre implicitement une transaction et la laisse ouverte indéfiniment.
Le niveau d'isolement de transaction par défaut est REPEATABLE-READ. Ainsi, votre session ne verra pas une vue actualisée des modifications validées du travail des autres sessions jusqu'à ce que la session 1 soit explicitement validée ou annulée.
Votre LOCK TABLES dans une autre session 2 fait provoque une validation implicite, mais la session 1 ne voit pas le résultat car elle ne peut toujours voir qu'une vue isolée des données en raison de son propre instantané de transaction.