根据另一个字段的值,在特定字段中的mySQL中替换字符串



如何根据另一个字段的值在mySQL中找到和替换?例如,

我想用" 126810"列中的所有" 0"值替换为" post_parent" ...但是,只有这些条目在" post_type"字段中也具有"主题"的值。

我认为这是这样的,但它似乎不起作用,语法问题以及所有:

update wp_posts set post_parent = replace(post_parent,`0`,`126810`) 
WHERE `post_type` LIKE 'topic');

我还猜想,即使我可以做到这一点,我也会替换所有10、20、30等的post_parent值,等等。1126810,2126810等>

有人碰巧知道我如何解决这两个问题?

您应该能够扩展您的WHERE子句:

update wp_posts 
set post_parent = replace(post_parent,0,126810)
WHERE post_type = 'topic'
  AND post_parent = 0;

请参阅带有演示的SQL小提琴

也许 case when可能会帮助您。

update wp_posts 
set post_parent = 
case when (`post_type` LIKE 'topic'
and post_parent = `0`)
then
replace(post_parent,`0`,`126810`)
end

;

相关内容

  • 没有找到相关文章

最新更新