【问题标题】:how to get the result of second select statement in mysql using python?如何使用python在mysql中获取第二个select语句的结果?
【发布时间】:2015-05-29 09:18:04
【问题描述】:

我正在使用 python 与 mySql 数据库建立连接并运行一个过程。在该过程中,有两个返回结果的 select 语句。 我正在使用以下代码来执行程序

query = "Call procedure_name()"
cursor.execute(query)
procedureResult = cursor.fetchall();

但这会返回第一个选择语句的唯一结果。 如何获得第二次选择的结果?

程序

DELIMITER $$

USE `my_database`$$

DROP PROCEDURE IF EXISTS `dim_get_orders`$$

CREATE DEFINER=`root`@`%` PROCEDURE `dim_get_orders`()
 BEGIN
SELECT 'hi';

SELECT 'hello';
END$$

DELIMITER ;

【问题讨论】:

  • 向我们展示您的程序(或示例)
  • @Sir_FZ 用程序编辑了我的问题
  • 你得到的是第二次选择的结果?
  • 这似乎是您需要在程序中修复的内容:stackoverflow.com/questions/20317971/…
  • 但在我的情况下,第一个选择可能有多个记录/行

标签: python mysql database


【解决方案1】:

阅读关于游标对象的“DB API 2.0 规范”。根据它,存储过程调用可以有一个nextset() 方法来获取第二个查询。

我没有在 MySQL 服务器上使用过cur.nextset()。但它有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-03
    • 2020-03-28
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多