sql >> Databasteknik >  >> RDS >> Mysql

Pythons MySqlDB uppdateras inte rad

Det här är en InnoDB-tabell, eller hur? InnoDB är transaktionslagringsmotor. Om du ställer in autocommit till sant kommer förmodligen detta beteende att åtgärdas för dig.

conn.autocommit(True)

Alternativt kan du ändra transaktionsisoleringsnivån. Du kan läsa mer om detta här:http://dev .mysql.com/doc/refman/5.0/en/set-transaction.html

Anledningen till detta beteende är att inuti en enskild transaktion måste läsningarna vara konsekventa. Alla konsekventa läsningar inom samma transaktion läser ögonblicksbilden som upprättats av den första läsningen. Även om ditt skript bara läser tabellen anses detta också vara en transaktion. Detta är standardbeteendet i InnoDB och du måste ändra det eller köra conn.commit() efter varje läsning.

Den här sidan förklarar detta mer detaljerat:http:/ /dev.mysql.com/doc/refman/5.0/en/innodb-consistent-read.html



  1. datetime till totalminute i sql

  2. MySQL TEXT minnesallokering

  3. MySQL-utlösare:Uppdatera när en viss datum och tid uppnås

  4. MySql-frågecacheinställningar