1

別のカスタムメタフィールドが1に等しいすべてのWordPress投稿のカスタムメタを更新しようとしています。

私のテーブルはこのように見えます

meta_id | post_id | meta_key | meta_value
------------------------------------------------
0001 | 1234 | _p_free | 1
0002 | 1234 | new_free | ヌル
0003 | 2345 | _p_free | 1
0004 | 2345 | new_free | ヌル
0005 | 9876 | _p_free | 0
0006 | 9876 | new_free | ヌル

ご覧のとおり、私がやりたいのは、meta_key=_p_freeおよびmeta_value=1のすべての投稿を検索するクエリを実行してから、同じpost_idでnew_freeを1に更新することです。

ありがとう

4

1 に答える 1

2

自己結合で複数テーブルUPDATE構文を使用する必要があります。

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
于 2012-05-01T14:24:41.370 に答える