MySQL将DESC等关键字作为列名表名的处理方式

时间:2022-08-19 21:53:39

面试被问到一个问题,假如MySQL中的关键字在查询语句中作为列明或者表名出现,应该怎么处理。

例如

select desc from t;

首先创建一张表,包含两个字段,id和desc

MySQL将DESC等关键字作为列名表名的处理方式

插入了三条数据

MySQL将DESC等关键字作为列名表名的处理方式

MySQL将DESC等关键字作为列名表名的处理方式

果然出错了,其实出现这个错误的原因是desc这个单词是MySQL数据库的关键字,所以sql语句执行到这里的时候觉得语句有问题。

处理方式,在列名字前后加上如下所示的符号

MySQL将DESC等关键字作为列名表名的处理方式

mysql> select `desc` from t;
+--------------+
| desc |
+--------------+
| 23234 |
| klsadjflkasj |
| 你好 |
+--------------+
3 rows in set (0.00 sec)