Maison > base de données > tutoriel mysql > Comment récupérer les résultats des procédures stockées MySQL en Python ?

Comment récupérer les résultats des procédures stockées MySQL en Python ?

Patricia Arquette
Libérer: 2024-12-07 01:10:14
original
611 Les gens l'ont consulté

How to Retrieve Results from MySQL Stored Procedures in Python?

Récupération des résultats des procédures stockées en Python

Problème :

Tentatives de récupération des résultats d'une procédure stockée MySQL à l'aide de l'outil Le connecteur Python MySQL échoue avec l'erreur "Aucun ensemble de résultats à récupérer."

Stocké Procédure :

CREATE PROCEDURE `mytestdb`.`getperson` (IN personid INT)
BEGIN
   select person.person_id,
          person.person_fname,
          person.person_mi,
          person.person_lname,
          person.persongender_id,
          person.personjob_id
     from person
    where person.person_id = personid;
END
Copier après la connexion

Code Python :

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])
people = cursor.fetchall()

for person in people:
    print(person)

cnx.close()
Copier après la connexion

Cause :

Le connecteur MySQL alloue plusieurs jeux de résultats pour les procédures stockées, même lors du renvoi d'une seule instruction SELECT résultat.

Solution :

Parcourir les ensembles de résultats et récupérer les données de celui approprié :

for result in cursor.stored_results():
    people = result.fetchall()
Copier après la connexion

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