【发布时间】:2019-09-01 01:01:44
【问题描述】:
我正在尝试使用 python pymysql lib 调用 MySQL proc,但由于某种原因它无法正常工作。我的过程需要 2 个 args,如果我传递的参数长度大于预期,那么它会给我“Data too long for column 'str'”错误,这意味着该过程被调用。由于某种原因插入没有发生,表'abc'总是空的。当我从 MySQL 工作台调用该过程时,它可以工作。
程序:
DELIMITER $$
create procedure test_abc(str varchar(20),eventDate varchar(10))
BEGIN
insert into abc values(str,eventDate);
END$$
DELIMITER ;
调用proc的Python脚本:
import pymysql
con = pymysql.connect(user='test', passwd='pass123',
host='mysql01.xyz.com',
database='testdb')
cur = con.cursor()
result_args = cur.callproc("test_abc", ('2019-04-10','test123'))
print result_args
cur.close()
【问题讨论】:
标签: mysql mysql-python pymysql