• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

MySQL反引号的使用姿势

MySQL SQL 彭东稳 8年前 (2016-08-09) 31993次浏览 已收录 0个评论

反引号,一般在ESC键的下方。它是为了区分MySQL的保留字与普通字符而引入的符号。举个例子:

在test表中,有个select字段,如果不用反引号,MYSQL将把select视为保留字而导致出错,所以,有MYSQL保留字作为字段的,必须加上反引号来区分。引号一般用在字段的值,如果字段值是字符或字符串,则要加引号,如:select=’字段值’。不加反引号建的表不能包含MYSQL保留字,否则出错。用普通引号,当输入左引号时,后面的内容因为引号没有关闭而默认作为引号内的内容,用普通引号括起来的内容为绿色。我们建表的时候一般都会将表名,库名都加上反引号来保证语句的执行度。反引号`,数字1左边的符号。保留字不能用于表名,比如desc,建表时不能用于字段名,表名:

但将desc放到反引号中则正常。

有些管理员在建表时,为了省事,可能会选择从一个现有的表cp建表语句。修改创建、字段命名如果不规范的话,可能会用到mysql中的保留字,如上述的desc。

例如从show create table xxx 或者mysqldump –no-data中取出建表语句,形式如下:

创建成功后,在insert时如果不带反引号就会遇到问题:

针对这个问题,有2个建议

1) 在建表时,不要用保留字作表名,字段名.可以加一个前缀标志加以区分,如在表名前加t_, 在列名前加F。

2) 建表时,不要给表名/字段名/索引名加反引号,以免隐藏问题。


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (1)
[资助本站您就扫码 谢谢]
分享 (0)

您必须 登录 才能发表评论!