Heim >Datenbank >MySQL-Tutorial >Wie behebe ich den MySQL Connector-Fehler „Ungelesenes Ergebnis gefunden' in Python?

Wie behebe ich den MySQL Connector-Fehler „Ungelesenes Ergebnis gefunden' in Python?

Barbara Streisand
Barbara StreisandOriginal
2024-11-29 04:32:09776Durchsuche

How to Resolve the MySQL Connector

MySQL-Connector-Fehler: „Ungelesenes Ergebnis gefunden“ in Python

Beim Arbeiten mit MySQL-Datenbanken über den Python-Connector kann es vorkommen, dass ein Fehler mit der Meldung „Ungelesenes Ergebnis gefunden“ auftritt ." Dieses Problem ist normalerweise mit ungepufferten Cursorn verbunden und kann auftreten, wenn mehrere Abfragen in einer einzelnen Verbindung ausgeführt werden.

Im bereitgestellten Code tritt der Fehler wahrscheinlich aufgrund der Zeile auf:

leg_no = cursor.fetchone()[0]

Diese Zeile ruft nur eine einzelne Zeile aus dem Abfrageergebnis ab und lässt die übrigen Ergebnisse unbearbeitet. Nachfolgende Abfragen mit demselben Cursor schlagen dann mit dem Fehler „Ungelesenes Ergebnis gefunden“ fehl.

Lösung:

Um dieses Problem zu beheben, legen Sie das gepufferte Attribut des Cursors fest beim Erstellen auf „True“ setzen. Dadurch wird der Connector gezwungen, den gesamten Ergebnissatz zu puffern, bevor irgendwelche Abfragen ausgeführt werden.

cursor = cnx.cursor(buffered=True)

Darüber hinaus wird empfohlen, alle verbleibenden Ergebnisse explizit mit fetchall() vom Cursor abzurufen, bevor nachfolgende Abfragen ausgeführt werden. Dies kann mit dem folgenden Code erfolgen:

try:
    cursor.fetchall()
except mysql.connector.errors.InterfaceError as ie:
    if ie.msg == 'No result set to fetch from.':
        pass
    else:
        raise

Indem Sie den Cursor auf „gepuffert“ setzen und alle Ergebnisse explizit abrufen, kann der Fehler „Ungelesenes Ergebnis gefunden“ vermieden werden.

Das obige ist der detaillierte Inhalt vonWie behebe ich den MySQL Connector-Fehler „Ungelesenes Ergebnis gefunden' in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn