我已经创建了一个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)
答案 0 :(得分:2)
desc
是SQL中的保留字 - 它是order by
子句的关键字,表示 desc 顺序中的排序(例如:select * from mytable order by mycolumn DESC
)。
使用反引号转义它可以让MySQL理解你的意思是将它用作名称而不是句法元素。