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

MySqlDB Pythona nie jest aktualizowany wiersz

To jest tabela InnoDB, prawda? InnoDB to transakcyjny silnik pamięci masowej. Ustawienie automatycznego zatwierdzania na true prawdopodobnie naprawi to zachowanie.

conn.autocommit(True)

Alternatywnie możesz zmienić poziom izolacji transakcji. Więcej na ten temat możesz przeczytać tutaj:http://dev .mysql.com/doc/refman/5.0/en/set-transaction.html

Powodem tego zachowania jest to, że odczyty w ramach pojedynczej transakcji muszą być spójne. Wszystkie spójne odczyty w ramach tej samej transakcji odczytują migawkę ustanowioną przez pierwszy odczyt. Nawet jeśli skrypt tylko odczytuje tabelę, jest to również uważane za transakcję. Jest to domyślne zachowanie w InnoDB i musisz to zmienić lub uruchomić conn.commit() po każdym odczycie.

Ta strona wyjaśnia to bardziej szczegółowo:http:// /dev.mysql.com/doc/refman/5.0/en/innodb-consistent-read.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiedy powinienem używać MySQLi zamiast MySQL?

  2. MySQL - Jak podzielić wartości na pojedyncze ciągi za pomocą przecinka

  3. Czy można automatycznie utworzyć plik mysqldump, który nie wymusza ograniczeń klucza obcego?

  4. Nie można utworzyć wystąpienia Multi-AZ Aurora RDS

  5. MySQL:duży VARCHAR kontra TEXT?