SQL Desc列名不被接受?

时间:2016-08-07 17:44:51

标签: mysql sql sql-insert mysql-error-1064

我已经创建了一个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);

出于某种原因呢?

为什么会这样?

我的表格如下:

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

1 个答案:

答案 0 :(得分:2)

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

使用反引号转义它可以让MySQL理解你的意思是将它用作名称而不是句法元素。