Dette er en InnoDB-tabel, ikke? InnoDB er transaktionslagringsmotor. Indstilling af autocommit til sand vil sandsynligvis løse denne adfærd for dig.
conn.autocommit(True)
Alternativt kan du ændre transaktionsisolationsniveauet. Du kan læse mere om dette her:http://dev .mysql.com/doc/refman/5.0/en/set-transaction.html
Årsagen til denne adfærd er, at inde i en enkelt transaktion skal aflæsningerne være konsekvente. Alle konsistente læsninger inden for samme transaktion læser det øjebliksbillede, der er etableret ved den første læsning. Selvom dit script kun læser tabellen, betragtes dette også som en transaktion. Dette er standardadfærden i InnoDB, og du skal ændre det eller køre conn.commit() efter hver læsning.
Denne side forklarer dette mere detaljeret:http:/ /dev.mysql.com/doc/refman/5.0/en/innodb-consistent-read.html