Heim >Datenbank >MySQL-Tutorial >Wie kann ich mit Python Ergebnisse aus gespeicherten MySQL-Prozeduren abrufen?

Wie kann ich mit Python Ergebnisse aus gespeicherten MySQL-Prozeduren abrufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-02 01:59:10695Durchsuche

How Can I Retrieve Results from MySQL Stored Procedures Using Python?

Abrufen von Ergebnissen aus gespeicherten Prozeduren mit dem Python-Cursor

In Python kann das Herstellen einer Verbindung zu einer MySQL-Datenbank und das Ausführen gespeicherter Prozeduren mithilfe von MySQL erreicht werden .Anschlussmodul. Allerdings kann es beim Abrufen von Ergebnissen aus gespeicherten Prozeduren zu Herausforderungen kommen.

Um dieses Problem zu lösen, muss der Cursor, der zum Aufrufen der gespeicherten Prozedur verwendet wird, explizit angewiesen werden, die Ergebnisse mithilfe der Methode „stored_results()“ abzurufen. Diese Methode gibt einen Iterator von Ergebnismengen zurück, der den Abruf mehrerer Ergebnismengen ermöglicht, wenn die gespeicherte Prozedur diese zurückgibt.

Im bereitgestellten Beispiel gibt die gespeicherte Prozedur getperson eine einzelne Ergebnismenge zurück. Der folgende Code zeigt, wie die Ergebnisse abgerufen werden:

import mysql.connector

cnx = mysql.connector.connect(user='root', host='127.0.0.1', database='mytestdb')
cnx._open_connection()
cursor = cnx.cursor()

cursor.callproc("getperson", [1])

for result in cursor.stored_results():
    people = result.fetchall()

for person in people:
    print(person)

cnx.close()

In diesem Code wird die gespeicherte Prozedur mit einem Parameter von 1 aufgerufen und die Methode „stored_results()“ wird verwendet, um den einzelnen Ergebnissatz abzurufen. Die Ergebnisse werden dann iteriert und gedruckt.

Diese Lösung überwindet die im bereitgestellten Code auftretenden Probleme, wie z. B. den Fehler „Kein Ergebnissatz zum Abrufen von“ und die unsachgemäße Behandlung mehrerer Ergebnissätze. Durch explizites Abrufen des Ergebnissatzes mit „stored_results()“ kann der Code wie erwartet auf die Ergebnisse des Aufrufs der gespeicherten Prozedur zugreifen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Python Ergebnisse aus gespeicherten MySQL-Prozeduren abrufen?. 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