Python3和pymysql的奇怪错误

Python3和pymysql的奇怪错误,python,mysql,pymysql,Python,Mysql,Pymysql,在Windows 10上,将pymysql与python 3.6.4和mysql 8配合使用。我有奇怪的语法错误。然而,这些命令用于MySQL5.7,它们可以独立工作。以下是两个例子: create table Guest( guestNo INT, firstName varchar(15), lastName varchar(15),

在Windows 10上,将pymysql与python 3.6.4和mysql 8配合使用。我有奇怪的语法错误。然而,这些命令用于MySQL5.7,它们可以独立工作。以下是两个例子:

create table Guest(
                    guestNo INT,
                     firstName varchar(15),
                     lastName varchar(15),
                     phoneNo VARchar(20));
python打印时出错
print(ex.args)
其中ex是
异常

(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")
(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")
另一个例子:

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是
异常

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

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

因此,有两件事与使用pymysql的MySQL 5.7不同: 1.
cursor.exec(q)
。q必须是一个命令。多个命令之间用分隔符分隔;不工作。 2.仔细查看python代码后,它附加了一个额外的
SET@some_var=0,从而将我的查询转换为多语句查询。
我希望这对某人有帮助