Mysql
 sql >> база данни >  >> RDS >> Mysql

Не може да върне резултати от съхранената процедура с помощта на курсора на Python

Опитвали ли сте да изберете един от наборите с резултати?

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

Може да се окаже, че разпределя за множество набори от резултати, въпреки че имате само един SELECT stmt Знам, че в MySQLi съхранените процедури на PHP правят това, за да позволят връщане на променливи INOUT и OUT (което отново нямате, но може би все пак разпределя).

Пълният код, който използвам (който работи), е:

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. Как да замените част от низ в MySQL

  2. C# с параметри на MySQL INSERT

  3. DATE_SUB() Примери – MySQL

  4. Как да направя размито съвпадение на имена на компании в MYSQL с PHP за автоматично довършване?

  5. Как да разделите низ в MySQL