>source

python pymysql lib를 사용하여 MySQL proc을 호출하려고하는데 어떤 이유로 작동하지 않습니다. 내 프로 시저에는 2 개의 인수가 필요합니다. 예상보다 길이가 긴 인수를 전달하면 "열 'str'데이터가 너무 깁니다"오류가 발생하여 프로 시저가 호출됩니다. 어떤 이유로 삽입이 발생하지 않으면 테이블 'abc'는 항상 비어 있습니다. MySQL Workbench에서 프로 시저를 호출하면 작동합니다.

절차 :

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()

  • 이전 PHP 'for loop'를 단일 변수 내에 넣는 방법 (이메일 사용)?
  • 다음 python - 요청 지속성 및 누락 된 데이터 포인트 모니터링