我有一个MySql查询更新:
UPDATE wp_posts SET guid = REPLACE (guid, 'http://oldcomain.com/', 'http://mynewcdndomain.com/') WHERE post_type = 'attachment';
我在wordpress域上使用它,在amazon rds数据库中,我通过MySQL Workbench更新它并获得结果:
0row(s)受影响的行匹配:24103已更改:0警告:0
正如您所看到的那样,它找到了我需要的行,但它没有更新,我尝试将我在wordpress上的所有wordpress媒体更新到我的cdn amazon s3网址。
更新: 还尝试过:
UPDATE wp_posts SET post_content = REPLACE(post_content, ' olddocmain.com',' newcdndomain.com')WHERE post_type =' attachment';
没有工作以太。
答案 0 :(得分:0)
试试这个:
UPDATE wp_posts
SET post_content ='newcdndomain.com'
WHERE post_type = 'attachment' AND
post_content ='olddocmain.com';
答案 1 :(得分:0)
您从workBench获得的信息显示它可以找到附件的匹配记录,但是对于guid属性,没有行包含'oldcomain.com/',所以这就是为什么它什么都没改变。
您使用的查询是正确的。我想也许可以再次验证匹配的字符,例如'oldcomain.com'而不是'oldcomain.com /'。
或者您可以尝试使用通配符,例如在匹配字符'%oldcomain.com%'之前和之后尝试放置%。
希望它有所帮助。