Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Dapatkan Keputusan daripada Prosedur Tersimpan MySQL Menggunakan Python?

Bagaimanakah Saya Boleh Dapatkan Keputusan daripada Prosedur Tersimpan MySQL Menggunakan Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-02 01:59:10695semak imbas

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

Mengambil Keputusan daripada Prosedur Tersimpan Menggunakan Kursor Python

Dalam Python, menyambung ke pangkalan data MySQL dan melaksanakan prosedur tersimpan boleh dicapai menggunakan mysql .modul penyambung. Walau bagaimanapun, mungkin terdapat cabaran dalam mendapatkan semula keputusan daripada prosedur tersimpan.

Untuk menyelesaikan masalah ini, kursor yang digunakan untuk memanggil prosedur tersimpan mesti diarahkan secara eksplisit untuk mendapatkan semula keputusan menggunakan kaedah stored_results(). Kaedah ini mengembalikan lelaran set hasil, yang membenarkan untuk mendapatkan semula beberapa set hasil jika prosedur tersimpan mengembalikannya.

Dalam contoh yang disediakan, prosedur tersimpan getperson mengembalikan set hasil tunggal. Kod berikut menunjukkan cara untuk mendapatkan semula keputusannya:

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()

Dalam kod ini, prosedur tersimpan dipanggil dengan parameter 1 dan kaedah stored_results() digunakan untuk mendapatkan set hasil tunggal. Hasilnya kemudian diulang dan dicetak.

Penyelesaian ini mengatasi isu yang dihadapi dalam kod yang disediakan, seperti ralat "Tiada keputusan ditetapkan untuk diambil daripada" dan pengendalian berbilang set hasil yang tidak betul. Dengan mendapatkan semula set hasil secara eksplisit menggunakan stored_results(), kod boleh mengakses keputusan panggilan prosedur yang disimpan seperti yang dijangkakan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Keputusan daripada Prosedur Tersimpan MySQL Menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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