Mysql
 sql >> Baza danych >  >> RDS >> Mysql

PHP PDO MySQL i jak naprawdę radzi sobie z transakcjami MySQL?

https://dev.mysql.com /doc/refman/5.7/en/innodb-autocommit-commit-rollback.html mówi:

Więc kiedy ustawisz autocommit=0 w sesji (nazwij to sesją 1), to domyślnie otwiera się transakcję i pozostawia ją otwartą na czas nieokreślony.

Domyślny poziom izolacji transakcji to REPEATABLE-READ. Tak więc Twoja sesja nie zobaczy odświeżonego widoku zatwierdzonych zmian z pracy innych sesji, dopóki sesja 1 nie zostanie wyraźnie zatwierdzona lub wycofana.

Twoje LOCK TABLES w innej sesji 2 robi spowodować niejawne zatwierdzenie, ale sesja 1 nie widzi wyniku, ponieważ nadal może zobaczyć tylko wyizolowany widok danych ze względu na własną migawkę transakcji.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Aplikacja z listą rzeczy do zrobienia używająca PHP i bazy danych MySQL

  2. mysql nie może wstawić rekordu z niepodpisanym kluczem podstawowym wynoszącym zero

  3. Wyłącz ostrzeżenia i błędy w PHP i MySQL

  4. MySql cursors.execute() z tylko jednym parametrem:Dlaczego ciąg jest pocięty na listę?

  5. Wpływ na wydajność zezwolenia na użycie aliasu w klauzuli HAVING