これはInnoDBテーブルですよね? InnoDBはトランザクションストレージエンジンです。 autocommitをtrueに設定すると、おそらくこの動作が修正されます。
conn.autocommit(True)
または、トランザクション分離レベルを変更することもできます。これについて詳しくは、こちらをご覧ください: http:// dev .mysql.com / doc / refman / 5.0 / en / set-transaction.html
この動作の理由は、単一のトランザクション内で読み取りが一貫している必要があるためです。同じトランザクション内のすべての一貫した読み取りは、最初の読み取りによって確立されたスナップショットを読み取ります。スクリプトがテーブルを読み取るだけであっても、これもトランザクションと見なされます。これはInnoDBのデフォルトの動作であり、これを変更するか、読み取るたびにconn.commit()を実行する必要があります。
このページでは、これについて詳しく説明しています。 http:/ /dev.mysql.com/doc/refman/5.0/en/innodb-consistent-read.html