首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >奇怪的错误python 3和pymysql

奇怪的错误python 3和pymysql
EN

Stack Overflow用户
提问于 2018-06-08 00:08:55
回答 1查看 55关注 0票数 -1

在Windows10上对python 3.6.4和mysql 8使用pymysql时,出现了奇怪的语法错误。然而,这些命令曾经在MySQL5.7中使用,而且它们自己也可以使用。这里有两个例子:

代码语言:javascript
复制
create table Guest(
                    guestNo INT,
                     firstName varchar(15),
                     lastName varchar(15),
                     phoneNo VARchar(20));

由python print(ex.args)输出的错误,其中ex是Exception

代码语言:javascript
复制
(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 'create table Guest(\n\t\t    guestNo INT,\n                     firstName varchar(15' at line 2")

另一个例子:

代码语言:javascript
复制
insert into Booking
values (101, '2014-06-01', '2014-06-30', 500);
insert into Booking
values (101, '2014-08-01', '2014-08-31', 500);
insert into Booking
values (102, '2014-07-01', '2014-07-31', 500);
insert into Booking
values (102, '2015-07-01', '2015-07-31', 500);
insert into Booking
values (103, '2014-09-01', '2014-09-30', 500);

由python print(ex.args)输出的错误,其中ex是Exception

代码语言:javascript
复制
(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 'insert into Booking\nvalues (101, '2014-06-01', '2014-06-30', 500);\ninsert into B' at line 2")

似乎我可以很好地连接(不使用新的身份验证)。

EN

回答 1

Stack Overflow用户

发布于 2018-06-08 06:01:10

所以,与pymysql的MySQL 5.7不同的是: 1. cursor.exec(q)。Q必须是一个命令。由分隔的多个命令;无效。2.仔细查看python代码后,它在每个查询之前附加了一个额外的SET @some_var = 0;,从而将我的查询转换为多语句查询。我希望这对某些人有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50745794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档