我正在尝试更新所有WordPress帖子的自定义元数据,其中另一个自定义元字段等于1。
我的表看起来像
meta_id | post_id | meta_key | meta_value ------------------------------------------------ 0001 | 1234 | _p_free | 1 0002 | 1234 | new_free | null 0003 | 2345 | _p_free | 1 0004 | 2345 | new_free | null 0005 | 9876 | _p_free | 0 0006 | 9876 | new_free | null
因此,正如您所看到的,我想要做的是运行一个查询,找到包含meta_key = _p_free和meta_value = 1的所有帖子,然后使用相同的post_id更新new_free也等于1。 / p>
由于
答案 0 :(得分:2)
您需要将multiple-table UPDATE
syntax与自我加入一起使用:
UPDATE tbl AS t1 JOIN tbl AS t2 USING (post_id)
SET t1.meta_value = 1
WHERE t2.meta_key = '_p_free' AND t2.meta_value = 1