为什么 MySql 使用 guid 的查询更新不影响行?
Why MySql query update with guid don't affect rows?
我有一个 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) affected Rows matched: 24103 Changed: 0 Warning: 0
如您所见,它找到了我需要的行,但它没有更新,我正在尝试将 wordpress 上的所有 wordpress 媒体更新到我的 cdn amazon s3 url。
更新:
也试过:
UPDATE wp_posts SET post_content = REPLACE (post_content,
'olddocmain.com', 'newcdndomain.com') WHERE post_type = 'attachment';
以太币不起作用。
试试这个:
UPDATE wp_posts
SET post_content ='newcdndomain.com'
WHERE post_type = 'attachment' AND
post_content ='olddocmain.com';
您从 workBench 获得的信息显示它可以找到附件的匹配记录,但是对于 guid 属性,没有行包含 'oldcomain.com/',所以这就是它什么也没改变的原因。
您使用的查询是正确的。我想也许再次验证匹配的字符,例如'oldcomain.com' 而不是 'oldcomain.com/'.
或者您可以尝试使用通配符,例如尝试在匹配字符前后添加 %,'%oldcomain.com%'。
希望对您有所帮助。
我有一个 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) affected Rows matched: 24103 Changed: 0 Warning: 0
如您所见,它找到了我需要的行,但它没有更新,我正在尝试将 wordpress 上的所有 wordpress 媒体更新到我的 cdn amazon s3 url。
更新: 也试过:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'olddocmain.com', 'newcdndomain.com') WHERE post_type = 'attachment';
以太币不起作用。
试试这个:
UPDATE wp_posts
SET post_content ='newcdndomain.com'
WHERE post_type = 'attachment' AND
post_content ='olddocmain.com';
您从 workBench 获得的信息显示它可以找到附件的匹配记录,但是对于 guid 属性,没有行包含 'oldcomain.com/',所以这就是它什么也没改变的原因。
您使用的查询是正确的。我想也许再次验证匹配的字符,例如'oldcomain.com' 而不是 'oldcomain.com/'.
或者您可以尝试使用通配符,例如尝试在匹配字符前后添加 %,'%oldcomain.com%'。
希望对您有所帮助。