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

[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.

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

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

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

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

最后我的解决方法是

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

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

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

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值