Mysql
 sql >> Database >  >> RDS >> Mysql

MySqlDB di Python non viene aggiornato la riga

Questa è una tabella InnoDB, giusto? InnoDB è un motore di archiviazione transazionale. L'impostazione di autocommit su true probabilmente risolverà questo comportamento per te.

conn.autocommit(True)

In alternativa, puoi modificare il livello di isolamento della transazione. Puoi leggere di più su questo qui:http://dev .mysql.com/doc/refman/5.0/en/set-transaction.html

Il motivo di questo comportamento è che all'interno di una singola transazione le letture devono essere coerenti. Tutte le letture coerenti all'interno della stessa transazione leggono lo snapshot stabilito dalla prima lettura. Anche se lo script legge solo la tabella, anche questa è considerata una transazione. Questo è il comportamento predefinito in InnoDB ed è necessario modificarlo o eseguire conn.commit() dopo ogni lettura.

Questa pagina lo spiega in modo più dettagliato:http:/ /dev.mysql.com/doc/refman/5.0/en/innodb-consistent-read.html