Snippet: Fetching results after calling stored procedures using MySQL Connector/Python
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Snippet: Fetching results after calling stored procedures using MySQL Connector/Python相关的知识,希望对你有一定的参考价值。
https://geert.vanderkelen.org/2014/results-after-procedure-call/
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
.
```python 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 cursor object is retiring an iterator object which will go over the results proceeded after calling the stored procedure. Each result is actually a MySQLCursorBuffered object.
You could also use the with_rows
cursor property to check if the cursor actually could return rows or not (for example, for SELECT statements). An example is provided in the documentation.
以上是关于Snippet: Fetching results after calling stored procedures using MySQL Connector/Python的主要内容,如果未能解决你的问题,请参考以下文章
coreData-Fetching Managed Objects
MySQL Workbench "fetching..." -- 无法浏览数据库
[Redux] Fetching Data on Route Change