【发布时间】:2016-09-20 07:35:56
【问题描述】:
我正在将 Wordpress 位置移动到同一服务器上的其他文件夹,并且我在其他站点上使用 MySQL 替换方法没有问题,但这次它不会替换数据库内容。
我正在使用这些 (https://wpbeaches.com/updating-wordpress-mysql-database-after-moving-to-a-new-url/)
UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldurl', 'http://www.newurl') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://www.oldurl','http://www.newurl');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldurl', 'http://www.newurl');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.oldurl','http://www.newurl');
当然,我已经替换了表名和值,但结果仍然是“0 行受影响”并且没有“匹配的 x 行”。
怎么了?
【问题讨论】:
-
什么是错误?
-
实际上没有错误,但它不会像预期的那样影响任何行。
-
a) 您可能使用了错误的网址。检查您当前的网址:
select * from wp_options where option_name = 'home' OR option_name = 'siteurl'b) 您至少错过了 2 个字段(wp_posts.post_excerpts、wp_links.link_url)。您可能想要使用 271 个 wordpress url 转换器插件之一。他们通常有一个更新的表和字段列表来改变(你得到你的代码的帖子已经一年多了) -
“旧网址”是什么意思?是的,可能会丢失一些表和字段,但它仍然可以工作,因为它应该匹配记录。