sql >> Database >  >> RDS >> Mysql

Python's MySqlDB krijgt geen bijgewerkte rij

Dit is toch een InnoDB-tabel? InnoDB is een transactionele opslagengine. Als u autocommit instelt op true, wordt dit probleem waarschijnlijk voor u opgelost.

conn.autocommit(True)

Als alternatief kunt u het transactie-isolatieniveau wijzigen. Je kunt hier meer over lezen:http://dev .mysql.com/doc/refman/5.0/en/set-transaction.html

De reden voor dit gedrag is dat binnen een enkele transactie de uitlezingen consistent moeten zijn. Alle consistente uitlezingen binnen dezelfde transactie lezen de momentopname die is gemaakt door de eerste keer lezen. Zelfs als je script alleen de tabel leest, wordt dit ook als een transactie beschouwd. Dit is het standaardgedrag in InnoDB en u moet dat wijzigen of conn.commit() uitvoeren na elke leesbewerking.

Deze pagina legt dit in meer detail uit:http:/ /dev.mysql.com/doc/refman/5.0/en/innodb-consistent-read.html



  1. SQLSTATE [HY093]:Ongeldig parameternummer:parameter is niet gedefinieerd

  2. RR versus YY in Oracle

  3. DevOps:DBA of Developer – De juiste balans vinden

  4. Bulksgewijs invoegen met tekstkwalificatie in SQL Server