sql >> Base de Datos >  >> RDS >> Mysql

MySqlDB de Python no se actualiza fila

Esta es una tabla InnoDB, ¿verdad? InnoDB es un motor de almacenamiento transaccional. Establecer la confirmación automática en verdadero probablemente solucionará este comportamiento.

conn.autocommit(True)

Como alternativa, puede cambiar el nivel de aislamiento de la transacción. Puede leer más sobre esto aquí:http://dev .mysql.com/doc/refman/5.0/en/set-transaction.html

El motivo de este comportamiento es que, dentro de una única transacción, las lecturas deben ser coherentes. Todas las lecturas consistentes dentro de la misma transacción leen la instantánea establecida por la primera lectura. Incluso si su secuencia de comandos solo lee la tabla, esto también se considera una transacción. Este es el comportamiento predeterminado en InnoDB y debe cambiarlo o ejecutar conn.commit() después de cada lectura.

Esta página explica esto con más detalles:http:/ /dev.mysql.com/doc/refman/5.0/en/innodb-consistent-read.html