doubleyong
管理员
管理员
  • 最后登录2026-05-25
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:7828回复:0

MySQL check the manual that corresponds to your MySQL server version for the right syntax错误

楼主#
更多 发布于:2017-07-31 15:04
检查对应到您的MySQL服务器版本附近使用正确的语法手册
数据库插入的时候出现上述问题,总结了两方面原因
1.语法错误,这是百度之得到的大部分结果,但是没有解决我的问题
2.仔细观察我的sql语句,发现我的表名为蓝色,占用的关键字,果然改了之后就没错了,其实还是要归类为第一类错误。
tips:无论编程还是操作数据库,避免使用关键字作为变量名等。
参考:http://blog.sina.com.cn/s/blog_6d70461d01018xul.html


总结:发现以上错误,主要出现在字段名与关键字重复时,还有就是和mysql语法不一致时
如,我的情况,我是在使用powerDesigner软件进行建模,然后直接使用建模自动生成的SQL语句

CREATE TABLE "USER"
(
   Id                   INT                            NOT NULL
   CONSTRAINT PK_USER PRIMARY KEY clustered (Id)
);

在运行上面的SQL语句时,出现了上面的错误:

错误码: 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 '"User"

然后,第一反应就是User这个是关键字,最后就把User改了,可是无论改成什么名字,却都要报这个错误。
最后,对比了其它表的SQL发现,在表名与关键字重复时,powerDesigner会将表名用双引号括起来 ,而mysql中的语法不能将表名写入双引号中,直接写表名就可以了。最后将双引号去了,发现可以正常运行了,哈哈,一场双引号引发的bug案

CREATE TABLE User
(
   Id                   INT                            NOT NULL
   CONSTRAINT PK_USER PRIMARY KEY clustered (Id)
);
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号