Fehler: „Befehle nicht synchron“ in der gespeicherten Python-MySQL-Prozedur
Beim Versuch, mehrere Anweisungen innerhalb einer aufgerufenen gespeicherten MySQL-Prozedur auszuführen Wenn Sie in Python arbeiten, tritt möglicherweise der Fehler „Befehle sind nicht synchron; Sie können diesen Befehl jetzt nicht ausführen“ auf. Dieses Problem tritt normalerweise auf, wenn nach dem Aufruf einer gespeicherten Prozedur eine zweite Anweisung ausgeführt wird.
Lösung
Um diesen Fehler zu beheben, muss der Cursor nach dem Aufruf der gespeicherten Prozedur geschlossen werden Öffnen Sie die Prozedur und öffnen Sie eine neue, bevor Sie nachfolgende Anweisungen ausführen. Dadurch wird die Verbindung zwischen dem Cursor und der gespeicherten Prozedur unterbrochen, sodass Sie andere Vorgänge ohne Konflikte ausführen können.
Hier ist ein aktualisierter Codeblock, der diese Lösung enthält:
cursor.callproc('my_mysql_procedure', [some_id,]) result = cursor.fetchall() for r in result: do something cursor.close() # Close the cursor after stored procedure execution cursor = connection.cursor() # Open a new cursor cursor.execute("select * from some_table") result = cursor.fetchall()
Durch Schließen des Wenn Sie den Cursor sofort nach dem Abrufen der Ergebnisse aus der gespeicherten Prozedur erneut öffnen, können Sie den Status des Cursors effektiv zurücksetzen und die Ausführung zusätzlicher Anweisungen ermöglichen, ohne dass die Meldung „Befehle nicht synchron“ ausgelöst wird. Fehler.
Das obige ist der detaillierte Inhalt vonWarum gibt meine gespeicherte Python-MySQL-Prozedur den Fehler „Befehle nicht synchron' aus und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!