Navicat Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds 解决方法
现象:今天在使用Navicat导入Mysql SQL文件时,出现了[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报错。提示在ID 257处附件有语法错误,查看数据库发现257 258 对应的数据都有正常的导入,后续有几百条数据没有导入,后面又接着导入了数据库数据。
原因分析:数据库中部分内容,可能包含了Mysql数据库预留关键字,或内容包含了非法字符等。
解决方法:① 因为提示时257处有问题,因此开始仔细分析了257数据内容,修改了一些特殊字符,但是问题仍然继续发生。
② 尝试删除了257数据,报警提示又变成258附件有语法错误。
③ 最终尝试删除了259数据记录后,重新导出导入才成功的。
经验总结:可以单独备份数据,然后组条删除数据测试,也可以使用insert命令,测试手动导入报警附近的数据记录
另外虽然报警时257附件,但是数据库257 258都导入成功了,因此可以考虑先测试没有成功的数据记录。