本帖最后由 sailyang 于 2020-5-27 19:20 编辑
在使用MySQL创建表的时候,被一个符号坑了无数次,始终找不到原因。之前使用MySQL创建表的时候,都是表名和字段名都是用''(单引号)括起来的,但是每次都报错,不知道是什么原因造成的,今天又碰到了同样的问题,终于找到了错误原因。
原来,在创建 MySQL 的表时,表名和字段名外面的符号 ``不是单引号,而是英文输入法状态下的反单引号,也就是键盘左上角 esc 按键下面的那一个 ~ 按键。反引号,一般在ESC键的下方。它是为了区分 MySQL 关键字(保留字)与普通字符而引入的符号,一般的,表名、字段名,库名都使用反引号。引号一般用于字段的值,如果字段值是字符或字符串,则要加引号。保留字不能用于表名或者字段名,比如desc,此时需要加入反引号来区别,但使用表名时可忽略反引号。但是如果表名为普通字符,则可以不用加反引号,如下:
那么,如果表名或者字段名为MySQL关键字呢?这个时候就需要加反引号,否则是会报错的。
从上面可以看出,创建表和insert的时候:如果表名和字段名为MySQL关键字,则需要加反引号``;如果表名和字段名为MySQL关键字,加单引号报错(英文状态下单引号);如果表名和字段名为普通字符,则可以不用加反引号。
使用表的时候:从下面可以看出,使用的时候可以忽略反引号。
|