在MySQL命令行使用sql语句时,经常MySQL 报错,这个问题之前遇到过几次,再次遇到时又忘记了怎么解决,今天把这个问题写出来,帮助希望能帮助大家,同时也能帮助自己记忆。
接下来我来总结一些经常容易发生的错误,同时大家尽量记住一些常见的错误类型。
常见错误类型
1.逗号多余
报错信息:[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 ------
2.字母写错
报错信息: [Err] 1054 - Unknown column ‘----------’ in 'field list’
3.反引号问题(注意)
- 反引号:为了区分MYSQL的保留字与普通字符而引入的符号。(注意与单引号区分)
反引号在键盘上的位置:在英文键盘输入环境下,按图示按钮输入反引号 `
-
反引号,数字1左边的符号,保留字不能用于表名,比如desc,此时需要加入反引号来区别,但使用表名时可忽略反引号。
-
单引号一般用在字段的值,如果字段值是字符或字符串,则要加引号,如:select=‘字段值’。 不加反引号建的表不能包含MYSQL保留字,否则出错==
例1:
create table desc报错
create table `desc`成功
create table `test`成功
drop table test成功
例2:
在test表中,有个select字段,如果不用反引号,MYSQL将把select视为保留字而导致出错,所以,有MYSQL保留字作为字段的,必须加上反引号来区分。
例3:
create table `test`(`desc` varchar(255))成功
insert into test(desc) values('fxf')失败
insert into test(`desc`) values('fxf')成功
保留字不能用于字段名,比如desc,此时也需要加入反引号,并且insert等使用时也要加上反引号。
solution: 建议大家尽量不要在创建表的过程中使用mysql保留字,避免后期造成麻烦。若使用了mysql的保留字,需要将其用反引号引起来。
5.7mysql保留字
官方文档地址:http://dev.mysql.com/doc/refman/5.7/en/keywords.html