为什么使用guid进行MySql查询更新不会影响行?

时间:2015-04-01 03:26:43

标签: sql wordpress amazon

我有一个MySql查询更新:

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

我在wordpress域上使用它,在amazon rds数据库中,我通过My​​SQL 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';

没有工作以太。

2 个答案:

答案 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%'之前和之后尝试放置%。

希望它有所帮助。