mysql 1064错误:Syntax error

Error code 1064: Syntax error

执行创建数据表语句,下面语句报错1064

`usage` text COMMENT '使用信息',

1064错误提示的near后面就是提示sql无法解析的地方。

错误原因Causes for the 1064 error

1 使用保留字Using reserved words

mysql不同版本都有自己的保留字,所以在创建数据表或者查询数据表的时候容易踩坑,这里是mysql5.7的保留字,不同的版本可以切换查看。

解决办法:而我们遇到的报错就命中了保留字usage,所以要么换个名字,要么使用``反引号,这里由于我们线上数据库的限制和简单起见,我们选择将usage换了个名字,就成功了。

2 缺失数据Missing Data

有时在sql查询语句的时候命中缺失的数据,比如

SELECT * from students WHERE studentID = $id
//但是当$id没有填写正确的话,请求语句就会解析为
SELECT * from students WHERE studentID =

解决办法:进入数据库中,把缺失的数据补全

3 命令书写错误Mistyping of Commands

最常见的错误原因是拼写错误,比如

UDPATE table1 SET id = 0;

解决方法:把UDPATE的D,P换个位置,UPDATE
另外附上mysql5.7的Statement/Syntax index以供查询解惑。

4 废弃过时的命令Obsolete Commands

用到的命令已经deprecated废弃了,有些命令会先deprecated,但是仍旧能支持一段时间作为过渡,但是终究会删除掉,比如’TYPE’命令从MYSQL4.1就deprecated,直到MYSQL5.1最终移除,'TYPE’命令被’ENGINE’命令替代

CREATE TABLE t (i INT) TYPE = INNODB;

解决办法:使用新的命令

CREATE TABLE t (i INT) ENGINE = INNODB;

总结

mysql的1064错误基本上就是上面的这些错误原因啦,以后如果遇到更多错误,也会同步更新到这里~~,Happy coding!

你可能感兴趣的:(工作日志)