ホームページ > データベース > mysql チュートリアル > Python で MySQL ストアド プロシージャから結果セットを取得する方法

Python で MySQL ストアド プロシージャから結果セットを取得する方法

DDD
リリース: 2024-12-04 05:22:15
オリジナル
849 人が閲覧しました

How to Retrieve Result Sets from MySQL Stored Procedures in Python?

Python を使用した MySQL ストアド プロシージャからの結果の取得

Python 経由で MySQL ストアド プロシージャの呼び出しに成功したにもかかわらず、試行するとエラーが発生します結果を取得するには、cursor.fetchall() を使用します。このエラー メッセージ「mysql.connector.errors.InterfaceError: No result set to fetch from」は、予期した結果セットが利用できないことを示します。

この問題を解決するには、cursor.stored_results() の使用を検討してください。代わりにメソッドを使用します。このメソッドは、ストアド プロシージャから利用可能な結果セットを取得します。この場合、結果セットは 1 つだけである必要があり、これを変数に割り当て、その後反復処理して目的のデータを取得できます。

これは、cursor.stored_results( の使用法を示す変更されたコード スニペットです) ):

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()
ログイン後にコピー

このアプローチは、ストアド プロシージャから結果を正常に取得し、それを反復処理して個人の詳細を表示します。単一のクエリのみを実行するため、cmd_query_iter および multi 引数は必要ないことに注意してください。

以上がPython で MySQL ストアド プロシージャから結果セットを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート