[Err] 1064 - You have an error in your SQL syntax; checkthe manual that corresponds...解决方法总结与分析
作者:mmseoamin日期:2023-12-21

[Err] 1064 - You have an error in your SQL syntax; checkthe manual that corresponds to your MySQL serverversion for the right syntax to use near USING BTREE)ENGINE = InnoDB CHARACTER SET = utf8 COLLATE =utf8 general ci RO' at line 4

[Err] SET NAMES utf8;

我出现的问题是将sql文件导入Navicat里时报错1064,在搜索问题解决方法时见到了别人的一些解决办法,但都不能解决我的问题,先说明最后我的解决方法是更换MySQL版本.下面是我看到的一些解决方法:

第一种是关于反引号与单引号:

看起来是一样的,但是符号就是打错了。例如创建id username password email的时候一个类似于单引号的东西输入错误,无法执行SQL语句了.

还有values里面的值,不是用反引号,而是单引号,容易混淆.

第二种是关于字段长度:

一是没有没有规定相应的字段长度,二是因版本问题在代码里字段长度需删除,例:将datetime(0)全部替换为datetime.

上述问题都未能解决我的1064错误,接下来我来说一下我的错误产生过程以及解决方法.

我是将sql文件导入Navicat里时报错1064

首先,为完成学校的课程设计我从网上找到了免费的资料,将其SQL文件导入Navicat时上来先出现的问题是

[Err] 1115 - Unknown character set: 'utf8mb4'

[Err] SET NAMES utf8mb4.

[Err] 1064 - You have an error in your SQL syntax; checkthe manual that corresponds...解决方法总结与分析,第1张

 这种问题出现的原因是版本问题代码是MySQL8.0的代码与你电脑中的MySQL版本不符,别人说编辑sql文件,把其中的utf8mb4改为8即可

[Err] 1064 - You have an error in your SQL syntax; checkthe manual that corresponds...解决方法总结与分析,第2张

[Err] 1064 - You have an error in your SQL syntax; checkthe manual that corresponds...解决方法总结与分析,第3张

可我改完了相应的代码又出现了新的错误,也就是1064

[Err] 1064 - You have an error in your SQL syntax; checkthe manual that corresponds...解决方法总结与分析,第4张

 到这我卡了整整一下午,试过了各种方法都没有用,比如更改数据库属性,导入前打钩项少打中间的钩和不打钩(部署文件相对应的教学视频是全打钩),少打一个钩的结果如下:

[Err] 1064 - You have an error in your SQL syntax; checkthe manual that corresponds...解决方法总结与分析,第5张

[Err] 1064 - You have an error in your SQL syntax; checkthe manual that corresponds...解决方法总结与分析,第6张

不打钩和钩两个也差不多都有错.

最后我的解决方法是

更换了最新版本的MySQL(8.0)问题就解决了

[Err] 1064 - You have an error in your SQL syntax; checkthe manual that corresponds...解决方法总结与分析,第7张

之前学校老师带着安装的MySQL5.0,太老了,IT行业版本迭代速度如此之快,还是希望各位码农朋友(尤其在校大学牲)及时更新自己软件版本,以避免由于基础的版本问题出现的大量无用功.

本人本科在读,有时间就会和大家分享一些自己遇到的问题,本人还处于代码小白阶段,希望大佬看到我的一些低级错误轻喷,最后如果本篇文章对你有那么一点点的帮助,可以点个赞鼓励一下,感谢支持.