Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan Keputusan daripada Prosedur Tersimpan MySQL menggunakan `cursor.stored_results()` Python?

Bagaimana untuk Mendapatkan Keputusan daripada Prosedur Tersimpan MySQL menggunakan `cursor.stored_results()` Python?

Barbara Streisand
Lepaskan: 2024-12-01 12:38:15
asal
325 orang telah melayarinya

How to Retrieve Results from a MySQL Stored Procedure using Python's `cursor.stored_results()`?

Mengambil Keputusan daripada Prosedur Tersimpan menggunakan Kursor Python

Artikel ini menangani isu mendapatkan semula hasil daripada panggilan prosedur tersimpan MySQL menggunakan Python kursor. Walaupun sambungan berjaya ke pangkalan data dan penggunaan cursor.execute() pada pertanyaan SQL biasa, cuba untuk mengambil keputusan daripada panggilan prosedur yang disimpan menggunakan cursor.fetchall() atau cursor.fetchone() mengembalikan ralat: "mysql. connector.errors.InterfaceError: Tiada keputusan ditetapkan untuk diambil daripada."

Penyelesaian

Penyelesaian terletak pada mendapatkan semula set keputusan menggunakan cursor.stored_results(). Kaedah ini berulang melalui mana-mana set keputusan yang tersedia, membenarkan pengaturcara bekerja dengan set keputusan yang dikehendaki.

Kod berikut menunjukkan pendekatan yang betul:

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()
Salin selepas log masuk

Kod ini berjaya mengambil keputusan daripada yang disimpan prosedur tanpa menghadapi ralat.

Pertimbangan

Ia perlu diperhatikan bahawa penyambung MySQL Python boleh memperuntukkan berbilang set hasil walaupun tanpa ketiadaan kenyataan SELECT berbilang. Peruntukan ini boleh berlaku kerana kemasukan pembolehubah INOUT dan OUT dalam prosedur tersimpan, yang anda tidak miliki. Namun begitu, menggunakan cursor.stored_results() mengendalikan potensi peruntukan ini dengan berkesan dan membolehkan perolehan semula hasil yang berjaya.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Keputusan daripada Prosedur Tersimpan MySQL menggunakan `cursor.stored_results()` Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan