pymysql 执行报错,大佬们帮忙看看

2020-11-27 16:43:03 +08:00
 gyy028012
使用 pymysql 的 execute 方法执行 SQL 语句

SQL 语句如下:
SET @days := 10;
SELECT @days as 'days';

报语法错误
(1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT @days AS 'days'' at line 4")

这个 SQL 语句在 navicat 上是可以执行的

有大佬帮忙指点迷津吗
1742 次点击
所在节点    Python
3 条回复
smallpython
2020-11-27 18:15:42 +08:00
想问下这个语法是什么含义
tmackan
2020-11-27 18:21:35 +08:00
贴下你的 py 代码应该,
如上 sql 直接到 mysql 执行是没问题的
@smallpython 设置个运行时全局变量而已
gyy028012
2020-11-30 17:18:04 +08:00
@tmackan
代码是这样的:
(我觉得不是 py 代码的问题,因为其他的 SQL 语句是可以运行的,可能是这个 SQL 里面有两个分号导致的)
sql ="""
SET @days := 10;
SELECT @days as 'days';
"""
conn = pymysql.connect(host, port,user,password,database,charset="utf8")
cur = conn.cursor()
cur.execute(sql)
conn.commit()

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/729932

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX