UPDATE files
SET filepath = REPLACE(filepath, `sites/somedomain.com/files/`, `sites/someotherdomain.com/files/`);
我有一个名为filepath的文件,名为filepath。 MySQL返回此错误:Unknown column 'sites/somedomain.com/files/' in 'field list'
这个SQL语法有什么问题?
UPDATE files
SET filepath = REPLACE(filepath, `sites/somedomain.com/files/`, `sites/someotherdomain.com/files/`);
我有一个名为filepath的文件,名为filepath。 MySQL返回此错误:Unknown column 'sites/somedomain.com/files/' in 'field list'
这个SQL语法有什么问题?
为了扩大对坎普的回答是:
反引号或反引号`在MySQL用于封装模式对象(数据库,表,列,索引,程序,......)的名字。它们不能用于包围字符串。您必须使用常规的单或双引号:'或“为
+1由@kemp和@Hammerite给出答案
+1这个链接是值得阅读的如果你想确保跨数据库兼容性而不必编写DBMS相关引用代码或DBMS特定设置配置的东西,则必须完全省略模式名称的引号 - 这不幸也意味着您必须非常小心地命名你的表和列以避免保留字。这是一个讨厌的混乱。 – bobince 2010-06-01 23:08:17
这发生在我身上的每一次,我从电子邮件复制/粘贴一个SQL命令,所以很烦人:) :) – 2010-06-01 22:52:33