Maison > base de données > tutoriel mysql > Comment puis-je récupérer les résultats des procédures stockées MySQL à l'aide de Python ?

Comment puis-je récupérer les résultats des procédures stockées MySQL à l'aide de Python ?

Mary-Kate Olsen
Libérer: 2024-12-02 01:59:10
original
705 Les gens l'ont consulté

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

Récupération des résultats des procédures stockées à l'aide du curseur Python

En Python, la connexion à une base de données MySQL et l'exécution de procédures stockées peuvent être réalisées à l'aide du mysql .module connecteur. Cependant, la récupération des résultats des procédures stockées peut présenter des difficultés.

Pour résoudre ce problème, le curseur utilisé pour appeler la procédure stockée doit recevoir explicitement l'instruction de récupérer les résultats à l'aide de la méthode store_results(). Cette méthode renvoie un itérateur d'ensembles de résultats, ce qui permet de récupérer plusieurs ensembles de résultats si la procédure stockée les renvoie.

Dans l'exemple fourni, la procédure stockée getperson renvoie un seul ensemble de résultats. Le code suivant montre comment récupérer ses résultats :

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()
Copier après la connexion

Dans ce code, la procédure stockée est appelée avec un paramètre de 1 et la méthode store_results() est utilisée pour récupérer l'ensemble de résultats unique. Les résultats sont ensuite itérés et imprimés.

Cette solution résout les problèmes rencontrés dans le code fourni, tels que l'erreur « Aucun ensemble de résultats à récupérer » et la mauvaise gestion de plusieurs ensembles de résultats. En récupérant explicitement le jeu de résultats à l'aide de store_results(), le code peut accéder aux résultats de l'appel de procédure stockée comme prévu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal