我已经创建了一个SQL数据库,它与MySQL工作台相连。我有一个列由于某种原因不能在查询中使用,工作台实际上可以识别它。我的查询看起来是这样的:
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)
最佳答案
desc
是SQL中的一个保留字-它是order by
子句的一个关键字,该子句表示描述顺序中的顺序(例如:select * from mytable order by mycolumn DESC
)。
使用反勾号转义可以让MySQL理解您打算将它用作名称而不是语法元素。
关于mysql - SQL Desc列名称不被接受?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38816870/