Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Không thể trả về kết quả từ thủ tục được lưu trữ bằng con trỏ Python

Bạn đã thử chọn một trong các tập kết quả chưa?

for result in cursor.stored_results():
    people = result.fetchall()

Có thể là nó đang phân bổ cho nhiều tập kết quả mặc dù bạn chỉ có một SELECT stmt. Tôi biết trong các thủ tục được lưu trữ MySQLi của PHP thực hiện điều này để cho phép trả về biến INOUT và OUT (một lần nữa, bạn không có, nhưng có thể nó đang phân bổ bất cứ lúc nào).

Mã hoàn chỉnh mà tôi đang sử dụng (đang hoạt động) là:

import mysql.connector

cnx = mysql.connector.connect(user='me',password='pw',host='localhost',database='mydb')
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()


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đơn vị ngày &giờ trong MySQL (Danh sách đầy đủ)

  2. BẢNG DROP MySQL

  3. có hàm group_concat trong ms-access không?

  4. JDBC trả về MySQLSyntaxError Exception với câu lệnh đúng

  5. Hibernate 5:- org.hibernate.MappingException:Thực thể không xác định