2015-04-01 108 views
0

我有一个MySQL查询更新时间:为什么用guid更新MySql查询不会影响行?

UPDATE wp_posts SET guid = REPLACE (guid, 'http://oldcomain.com/', 'http://mynewcdndomain.com/') WHERE post_type = 'attachment'; 

我使用它WordPress的领域,亚马逊RDS数据库里面,我通过My​​SQL工作台更新,并得到有结果:

0row (s)affected匹配行:24103更改:0警告:0

正如你所看到的,它发现我需要的行,但它不会更新,我试图更新所有我在wordpress上的wordpress媒体我的CDN亚马逊s3网址。

更新: 也试过:

UPDATE SET wp_posts = POST_CONTENT REPLACE(POST_CONTENT, 'olddocmain.com', 'newcdndomain.com')WHERE post_type = '附着';

不工作乙醚。

回答

0

你从工作台上得到的信息表明,它可以找到附件的匹配的记录,但后来GUID属性,没有行包括“oldcomain.com/”,所以这就是为什么它没有改变。

您正在使用的查询是正确的。我想也许再次验证匹配的字符,例如'oldcomain.com'而不是'oldcomain.com/'。

或者您可以尝试使用通配符,例如尝试在匹配字符之前和之后放入%'oldcomain.com%'。

希望它有帮助。

0

尝试了这一点:

UPDATE wp_posts 
SET post_content ='newcdndomain.com' 
WHERE post_type = 'attachment' AND 
     post_content ='olddocmain.com'; 
相关问题