使用pythonsqlconn执行简单的存储过程

2024-04-25 04:00:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我在mysql数据库上有一个非常简单的存储过程,取4个VARCHAR参数并在某个表中执行插入操作(我这样做的原因是为了能够更好地控制我给应用程序的权限)。当我直接从mysql调用过程时,如下所示:

CALL my_proc('aa', 'bb', 'cc', 'dd');

过程执行其工作,并将记录插入相关表中。现在当我通过python(使用mysql.connector),代码似乎执行得很好(没有错误),但它没有执行预期的insert语句。我的代码是这样的:

^{pr2}$

输出与您预期的完全一致:

connecting...
connected
inserting ['aa', 'bb', 'cc', 'dd'] into the database
CALL my_proc('aa', 'bb', 'cc', 'dd');
connection closed

正如您在insert_record过程中注释掉的代码中看到的,我还尝试使用cursor.callproc而不是光标.执行,但结果相同(缺乏)。我不知道我做错了什么,而且由于我对所有这些都是新手,我甚至不知道从哪里开始调试:存储过程运行良好,没有错误消息,在调试模式下逐步执行代码似乎一切都很好。。。在


Tags: 代码数据库参数过程my错误mysqlproc