Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 是否不接受SQL Desc列名?_Mysql_Sql_Sql Insert_Mysql Error 1064 - Fatal编程技术网

Mysql 是否不接受SQL Desc列名?

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

我已经创建了一个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) 
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理解您打算将它用作名称而不是语法元素。

哦,这很有效!只是把它改成了另一个名字,问题就解决了