Heim > Datenbank > MySQL-Tutorial > Warum kommt es bei Python-MySQL-Interaktionen zu „nicht synchronen Befehlen' und wie kann das behoben werden?

Warum kommt es bei Python-MySQL-Interaktionen zu „nicht synchronen Befehlen' und wie kann das behoben werden?

DDD
Freigeben: 2024-11-30 03:28:14
Original
345 Leute haben es durchsucht

Why Does

Fehlermeldung: „Befehle nicht synchron“ in Python mit MySQL

Beim Ausführen einer gespeicherten Prozedur aus Python über Django kann es zu Problemen kommen die Fehlermeldung „Befehle nicht synchron; Sie können diesen Befehl jetzt nicht ausführen.“ Dieses Problem tritt auf, wenn versucht wird, nach dem Aufruf einer Prozedur nachfolgende Anweisungen auszuführen, wodurch eine erfolgreiche Transaktionsfestschreibung verhindert wird.

Das Problem ist nicht auf komplexe gespeicherte Prozeduren beschränkt, sondern kann auch bei vereinfachten Prozeduren auftreten. Im bereitgestellten Beispiel löst der Aufruf von „cursor.callproc()“, gefolgt von „cursor.fetchall()“ und „cursor.execute()“ den Fehler aus.

Lösung:

Um dieses Problem zu beheben, muss das Cursorobjekt geschlossen und erneut geöffnet werden, bevor weitere Aktionen ausgeführt werden können Anweisungen:

cursor.close()
cursor = connection.cursor()
Nach dem Login kopieren

Durch Schließen und erneutes Öffnen des Cursors wird der Verbindungsstatus zurückgesetzt, sodass nachfolgende Befehle ohne den Fehler „Befehle nicht synchron“ ausgeführt werden können. Beachten Sie, dass die mit „fetchall()“ abgerufene Ergebnismenge nach dem Schließen des Cursors weiterhin zugänglich bleibt.

Das obige ist der detaillierte Inhalt vonWarum kommt es bei Python-MySQL-Interaktionen zu „nicht synchronen Befehlen' und wie kann das behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage