多方定位之后发现问题如下
insert into `ggg`(`name`) values
(“aa
— aa
aa”),
(“bb;bb”);
上面这行语句会报错 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 “”bb” at line 3
。
删除 bb后面的分号 “;” 就好了。
这条执行成功
insert into `ggg`(`name`) values
(“aa
— aa
aa”),
(“bbbb”);
删除 “–” 也执行成功
insert into `ggg`(`name`) values
(“aa
aa
aa”),
(“bb;bb”);
何解。
本人试了一下,也报错了: [SQL]insert into `tb2`(`name`) values
(“aa
— aa
aa”),
(“bb;
[Err] 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 “”bb” at line 3
所以应该是navicat的问题导致的,每个客户端工具都会对你编写的sql进行处理,前期的处理、规范、语法检查、语义检查等。
而本人用mysql命令行登录执行没有报错,说明mysql在这方面对你写的sql编写限制更少,所以才不报错的。