python - 使用 pymysql 调用 mysql 过程
问题描述
我在mysql中有一个名为'my'的程序。查询如下
CREATE DEFINER=`as`@`%` PROCEDURE `my`()
BEGIN
delete from my1 where datediff(curdate(), Date_) <= 20;
insert into my1
select
t.idx auto_increment,
t.date_ as 'Date_',
t.brand as 'Br',
concat(t.so_, '_', t.me_) as 'Md'
from
(select idx, date_, brand, so_, me from md where datediff(curdate(), Date_) <= 20) as t
group by t.date_, t.br;
END
为了在 Python 中运行这个过程,我使用 pymysql 编写了以下代码。
user = 'xxxx'
passw = 'xxxxx'
host = 'xxxx'
port = 3306
database = 'DBxxxx'
conn = pymysql.connect(host=host,
port=port,
user=user,
password=passw,
database=database,
charset='utf8',
local_infile=1)
try:
with conn.cursor() as cursor:
cursor.callproc('my')
conn.commit()
conn.close()
except:
conn.close()
但效果不好。我写的代码有错误吗?我在 mysql 中运行的程序运行良好
解决方案
推荐阅读
- core-data - 使用公共 CloudKit 数据库 (NSPersistentCloudkitContainer) - macOS
- android - 是否有用于在 Android 上添加语言的 ADB 命令?
- javascript - 使用 TypeScript 和 Axios 进行 http 调用时如何选择响应正文中的某些字段
- php - Codeigniter URL 中的双斜杠问题
- time-complexity - 哈希表时间复杂度混淆
- html - 如何通过xpath在第一个子节点之前获取节点的文本?
- amazon-web-services - 查找 executionRoleArn、taskRoleArn 的值
- java - Java:处理文件时Arraylist超出范围
- laravel - 使用 Laravel Sanctum 进行 Vue SPA 身份验证
- javascript - 如何在反应中通过多个组件传递数据?