如何根据另一个字段的值在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
;