Mysql 是否不接受SQL Desc列名?
我已经创建了一个SQL数据库,并通过MySQL Workbench连接到该数据库。我有一列由于某种原因无法在查询中使用,而Workbench实际上可以识别该列。我的查询如下所示:Mysql 是否不接受SQL Desc列名?,mysql,sql,sql-insert,mysql-error-1064,Mysql,Sql,Sql Insert,Mysql Error 1064,我已经创建了一个SQL数据库,并通过MySQL Workbench连接到该数据库。我有一列由于某种原因无法在查询中使用,而Workbench实际上可以识别该列。我的查询如下所示: INSERT INTO `mcfluid` (desc, type, maxcap, curcap) VALUES ('tank', 'water',1000,1000); id int(11) AI PK desc varchar(100) type varchar(100) maxcap bigint(20
INSERT INTO `mcfluid` (desc, type, maxcap, curcap) VALUES ('tank', 'water',1000,1000);
id int(11) AI PK
desc varchar(100)
type varchar(100)
maxcap bigint(20)
curcap bigint(20)
出于某种原因,这不起作用,但当我将其更改为:
INSERT INTO `mcfluid` (`desc`, type, maxcap, curcap) VALUES ('tank', 'lava',1000,1000);
是因为某种原因吗
为什么会这样
我的桌子看起来像这样:
INSERT INTO `mcfluid` (desc, type, maxcap, curcap) VALUES ('tank', 'water',1000,1000);
id int(11) AI PK
desc varchar(100)
type varchar(100)
maxcap bigint(20)
curcap bigint(20)
desc
是SQL中的保留字-它是order by
子句的关键字,表示按desc顺序排序(例如:select*from mytable order by mycolumn desc
)
使用backticks转义它可以让MySQL理解您打算将它用作名称而不是语法元素。哦,这很有效!只是把它改成了另一个名字,问题就解决了