gpt4 book ai didi

mysql - 如何在 Flask-SQLAlchemy 中执行 MySQL 存储过程或函数

转载 作者:行者123 更新时间:2023-11-29 16:28:34 24 4
gpt4 key购买 nike

我使用 MySQLWorkbench 制作了一个存储过程并在该平台上进行了测试。存储过程在 MySQLWorkbench 上运行良好,但如果我使用 Flask-SQLAlchemy 运行存储过程,我不会收到任何错误,但在表中看不到结果。

我尝试了以下执行存储过程的方法:

db.engine.execute("CALL stored_procedure_name(%s, %s)", (parm_1, parm_2))

这不会导致错误,但该函数不会给出与在 MySQLWorkbench 中运行相同函数(具有相同参数)相同的结果(在数据库中)。

我也尝试过:

db.engine.execute(func.stored_procedure_name(parm_1, parm_2))

它返回stored_procedure_name不是一个函数,因此我还创建了一个与存储过程(几乎)相同的函数,并使用相同的代码运行它,但它仍然无法正确运行该函数并且不返回错误。

最佳答案

因此,在阅读了一些文档后,我找到了答案。我仍然想保留这个问题,因为我认为这对某些人有用。

您可以使用以下代码运行函数(因此不是存储过程)

db.engine.execute(text("SELECT function_name(:parm_1, :parm_2)").execution_options(autocommit=True), :parm_1 = :parm_1, :parm_2 = :parm_2)

关于mysql - 如何在 Flask-SQLAlchemy 中执行 MySQL 存储过程或函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54093581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com