gpt4 book ai didi

python - 无法从存储过程中检索 OUT 参数 (MySQL)

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

我正在尝试从 MySQL 调用存储过程并获取 OUT 参数。我有这样的代码,

从Python调用过程

from django.db import connection
# ...
cursor = connection.cursor()
out_arg1 = ""
args = [in_arg1, in_arg2, out_arg1]
result = cursor.callproc('some_procedure', args)
print(args[2], result[2])
cursor.close()
# ...

MySQL程序

CREATE DEFINER=`root`@`localhost` PROCEDURE `some_procedure`(IN `in_arg1` VARCHAR(255) CHARSET utf8, IN `in_arg2` VARCHAR(255) CHARSET utf8, OUT `out_arg1` VARCHAR(255) CHARSET utf8)
MODIFIES SQL DATA
BEGIN

proc:begin
set out_arg1="Result";
end;

END;

我检查了argscursor.callproc方法返回的结果,但没有数据改变。

有什么想法为什么会发生这种情况吗?

提前致谢。

附注我尝试从 MySQL 控制台调用此过程,一切正常。

最佳答案

这样使用

from django.db import connection
# ...
cursor = connection.cursor()
out_arg1 = ""
args = [in_arg1, in_arg2, out_arg1]
result = cursor.callproc('some_procedure', args)

cursor.execute('SELECT @some_procedure_2')
print(cursor.fetchall())

#print(args[2], result[2])
cursor.close()
# ...

关于python - 无法从存储过程中检索 OUT 参数 (MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27055892/

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