Python3和pymysql的奇怪错误
在Windows 10上,将pymysql与python 3.6.4和mysql 8配合使用。我有奇怪的语法错误。然而,这些命令用于MySQL5.7,它们可以独立工作。以下是两个例子: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),
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在每次查询之前执行code>,从而将我的查询转换为多语句查询。
我希望这对某人有帮助