如何使用MySQL连接器从Python中的MySQL存储过程中检索out参数?

如何使用MySQL连接器从Python中的MySQL存储过程中检索out参数?,python,mysql,mysql-connector,Python,Mysql,Mysql Connector,我在使用Python(3.7)和sql连接器(8x)从MySQL(8x)中的存储过程中访问out参数值时遇到问题 我的存储过程是一个更新过程,它正在工作,但是我不知道如何在代码中获取out值 这是我的存储过程……我只想在python中访问名为success的out参数 CREATE DEFINER=`root`@`localhost` PROCEDURE `update_due_date`(param_bookId int, param_cardNumber int, param_dueDate

我在使用Python(3.7)和sql连接器(8x)从MySQL(8x)中的存储过程中访问out参数值时遇到问题

我的存储过程是一个更新过程,它正在工作,但是我不知道如何在代码中获取out值

这是我的存储过程……我只想在python中访问名为success的out参数

CREATE DEFINER=`root`@`localhost` PROCEDURE `update_due_date`(param_bookId int, param_cardNumber int, param_dueDate date, out success int)
BEGIN
    UPDATE tbl_book_loans
    SET dueDate = param_dueDate
    WHERE bookId = param_bookId and cardNo = param_cardNumber;        
    SET success = 777666;    
END
这是我的python函数(Python3.7),我不知道在游标对象上调用什么方法,或者 如何处理这个问题。我假设for循环也不打印任何内容,因为游标存储的结果是空的

谢谢你的帮助

def updateDueDate(bookId, cardNo, newDueDate):
    args = [bookId, cardNo, newDueDate, 0]

    myCursor.callproc(
        'update_due_date', args)
    myCursor.execute()

    for result in myCursor.stored_results():
        print(result.fetchall())
    cnx.commit()

这将得到第四个参数

见官方

def updateDueDate(bookId, cardNo, newDueDate):
    args = [bookId, cardNo, newDueDate, 0]

    result_args = cursor.callproc('update_due_date', args)

    print(result_args[4])