Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.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
这种SQL语法有什么问题?_Sql_Mysql - Fatal编程技术网

这种SQL语法有什么问题?

这种SQL语法有什么问题?,sql,mysql,Sql,Mysql,我有一个名为files的表,其中有一个名为filepath的字段。MySQL返回此错误:Unknown column'sites/somedomain.com/files/“在“字段列表”中使用普通引号而不是反引号:普通引号标识字符串,反引号标识列名。使用普通引号而不是反引号:普通引号标识字符串,反引号标识列名。要详细介绍kemp的答案: 在MySQL中使用反引号或反勾号来括起模式对象(数据库、表、列、索引、过程等)的名称。它们不能用于括起字符串。为此,您必须使用常规的单引号或双引号:'或'。来

我有一个名为files的表,其中有一个名为filepath的字段。MySQL返回此错误:
Unknown column'sites/somedomain.com/files/“在“字段列表”中使用普通引号而不是反引号:普通引号标识字符串,反引号标识列名。

使用普通引号而不是反引号:普通引号标识字符串,反引号标识列名。

要详细介绍kemp的答案:


在MySQL中使用反引号或反勾号来括起模式对象(数据库、表、列、索引、过程等)的名称。它们不能用于括起字符串。为此,您必须使用常规的单引号或双引号:'或'。

来扩展kemp的答案:


在MySQL中,反引号或反勾号用于括起架构对象(数据库、表、列、索引、过程等)的名称。它们不能用于括起字符串。为此,必须使用常规的单引号或双引号:'或'。

+1来回答@kemp和@Hammerite给出的答案


另请参见我对这个问题的回答:

+1对@kemp和@Hammerite给出的答案


另请参见我对这个问题的回答:

几乎每次我从电子邮件中复制/粘贴sql命令时,这种情况都会发生。真烦人。:)几乎每次我从电子邮件中复制/粘贴sql命令时都会发生这种情况。真烦人。:)+1这个链接值得一读。如果您想确保跨数据库的兼容性,而不必编写依赖于DBMS的引用代码或DBMS特定的设置配置内容,那么必须完全省略模式名称的引号,这也意味着您必须非常小心地命名表和列,以避免保留字。这真是一团糟。+1这个链接值得一读。如果您想确保跨数据库的兼容性,而不必编写依赖于DBMS的引用代码或DBMS特定的设置配置内容,那么必须完全省略模式名称的引号,这也意味着您必须非常小心地命名表和列,以避免保留字。这真是一团糟。
UPDATE files 
SET filepath = REPLACE(filepath, `sites/somedomain.com/files/`, `sites/someotherdomain.com/files/`);