2015-05-03 86 views
-1

我正试图在数据库上执行以下SQL查询。SQL语法错误消息

UPDATE wp_options SET option_value = replace(option_value, ‘http://yourdomain’, ‘http://your-elastic-ip’) WHERE option_name = ‘home’ OR option_name = ‘siteurl'; 

我替换“YOURDOMAIN”我的域名,我取代“你部弹性IP”与Amazon Web Services的我的IP地址。但是,我不断收到SQL语法错误。它说:

WHERE option_name = ‘home’ OR option_name = ‘siteurl'; 

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE option_name = ‘home’ OR option_name = ‘siteurl'' at line 1. 

我做错了什么?我不知道如何在合适的领域放置什么?我应该用什么取代“家”和“siteurl”?

+0

看起来像从一个页面或具有不同字符集的文件复制的。您需要使用单引号或双引号来包装字符串,就像您在siteurl末尾看到的那样“< - proper” – user2182349

+0

卷曲引号是邪恶的。用火杀死他们。 –

回答

2

什么user2182349想说的是:这种替换:

UPDATE wp_options SET option_value = replace(option_value, 'http://yourdomain', 'http://your-elastic-ip') WHERE option_name = 'home' OR option_name = 'siteurl'; 

注意单引号如何不同。你有卷曲的引号,我已经用直的引号替换了它们,因为MySQL不能识别卷曲引号。 (你可以看到它是如何解释他们在错误信息的末尾)。

+0

OP使用的是MySQL,而不是MS SQL Server,因此您关于哪些版本存在的部分是双重无关的。此外,错误,因为它存在[至少SQL Server 2000](https://msdn.microsoft.com/en-us/library/aa238479%28v=sql.80%29.aspx),并可能在此之前。 – IMSoP

+0

那我很抱歉。我直接从msdn网站上看到这些版本的报价,但没有意识到网站的主题是Transact-SQL。我编辑了不正确的信息。 –

+0

MSDN文章通常列出哪些版本的Microsoft产品*文章引用*,而不管旧产品或其他供应商的产品是否支持所描述的功能*。 – IMSoP