Problem
Using MySQL Connector/Python, you are calling a stored procedure which is also selecting data and you would like to fetch the rows of the result.
Solution
For this example we create a stored procedure which is executing SHOW SLAVE STATUS.
cnx = mysql.connector.connect(user='scott', password='tiger',
database='mining')
cur = cnx.cursor()
cur.execute("DROP PROCEDURE IF EXISTS slave_status")
proc = "CREATE PROCEDURE slave_status () BEGIN SHOW SLAVE STATUS; END"
cur.execute()
cur.call("slave_status")
for result_cursor in cur.stored_results():
for row in result_cursor:
print(row[0])
The result from the above would be:
shell> python foo.py Waiting for master to send event
Discussion
The stored_results() method of …
[Read more]