To jest tabela InnoDB, prawda? InnoDB to transakcyjny silnik pamięci masowej. Ustawienie automatycznego zatwierdzania na true prawdopodobnie naprawi to zachowanie.
conn.autocommit(True)
Alternatywnie możesz zmienić poziom izolacji transakcji. Więcej na ten temat możesz przeczytać tutaj:http://dev .mysql.com/doc/refman/5.0/en/set-transaction.html
Powodem tego zachowania jest to, że odczyty w ramach pojedynczej transakcji muszą być spójne. Wszystkie spójne odczyty w ramach tej samej transakcji odczytują migawkę ustanowioną przez pierwszy odczyt. Nawet jeśli skrypt tylko odczytuje tabelę, jest to również uważane za transakcję. Jest to domyślne zachowanie w InnoDB i musisz to zmienić lub uruchomić conn.commit() po każdym odczycie.
Ta strona wyjaśnia to bardziej szczegółowo:http:// /dev.mysql.com/doc/refman/5.0/en/innodb-consistent-read.html