sql >> Databasteknik >  >> RDS >> Mysql

PHP PDO MySQL och hur hanterar det verkligen MySQL-transaktioner?

https://dev.mysql.com /doc/refman/5.7/en/innodb-autocommit-commit-rollback.html säger:

Så när du ställer in autocommit=0 i en session (kalla det session 1), öppnar detta implicit en transaktion och lämnar den öppen på obestämd tid.

Standardtransaktionsisoleringsnivån är REPEATABLE-READ. Så din session kommer inte att se en uppdaterad vy av engagerade ändringar från andra sessioners arbete förrän session 1 uttryckligen binder eller rullar tillbaka.

Dina LOCK TABLES i en annan session 2 gör orsaka en implicit commit, men session 1 ser inte resultatet eftersom den fortfarande bara kan se en isolerad vy av data på grund av sin egen transaktionsögonblicksbild.




  1. Hur hoppar man över kolumner i CSV-fil när man importerar till MySQL-tabell med LOAD DATA INFILE?

  2. bearbetning av ett stort antal databasposter med personsökning saktar ner med tiden

  3. Kommaseparerade resultat i SQL

  4. välj från en tabell, infoga i en annan tabell oracle sql-fråga