sql >> Database >  >> RDS >> Mysql

PHP PDO MySQL en hoe gaat het echt om met MySQL-transacties?

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.




  1. Java:voeg meerdere rijen in MySQL in met PreparedStatement

  2. MS Access corruptie Deel 1:Veelvoorkomende oorzaken

  3. Beste en optimale manier om de maximale waarde uit een andere tabel samen te voegen

  4. Voeg Prefix toe aan auto-increment in mysql db