Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Python-MySQL-Connector - ungelesenes Ergebnis bei Verwendung von fetchone gefunden

Erforderlich war lediglich buffered auf true gesetzt werden!

cursor = cnx.cursor(buffered=True)

Der Grund dafür ist, dass ohne einen gepufferten Cursor die Ergebnisse "träge" geladen werden, was bedeutet, dass "fetchone" tatsächlich nur eine Zeile aus der vollständigen Ergebnismenge der Abfrage abruft. Wenn Sie denselben Cursor erneut verwenden, wird er sich darüber beschweren, dass Sie immer noch n-1 Ergebnisse haben (wobei n die Anzahl der Ergebnisse ist), die darauf warten, abgerufen zu werden. Wenn Sie jedoch einen gepufferten Cursor verwenden, ruft der Konnektor ALLE Zeilen hinter den Kulissen ab, und Sie nehmen nur eine aus dem Konnektor, damit sich die mysql-Datenbank nicht beschwert.