SQL Desc 列名称不被接受?

SQL Desc column name not accepted?

我已经创建了一个 SQL 数据库,我通过 MySQL Workbench 连接到该数据库。我有一列由于某种原因无法在查询中使用,Workbench 实际上可以识别。我的查询看起来像这样:

INSERT INTO `mcfluid` (desc, type, maxcap, curcap) VALUES ('tank', 'water',1000,1000);

由于某种原因这不起作用,但是当我将其更改为:

INSERT INTO `mcfluid` (`desc`, type, maxcap, curcap) VALUES ('tank', 'lava',1000,1000);

是出于某种原因吗?

这是为什么?

我的 table 看起来像这样:

id int(11) AI PK 
desc varchar(100) 
type varchar(100) 
maxcap bigint(20) 
curcap bigint(20)

desc 是 SQL 中的保留字 - 它是 order by 子句的关键字,表示 descing 中的顺序顺序(例如:select * from mytable order by mycolumn DESC)。

使用反引号将其转义允许 MySQL 理解您打算将其用作名称而不是句法元素。