【WordPress】【SQL】カスタムフィールドのデータを全記事分作成するSQL

  • 投稿 : 2018-09-26

作成するデータ

カスタムフィールド名:_enable_brbrbr
値:1

こういうデータを全記事分作成することを考えます。

まずは、SELECT文を考える

SELECT wp_posts.ID, '_enable_brbrbr', '1'
FROM wp_posts
WHERE wp_posts.post_status = 'publish' and wp_posts.post_type in ('post','page');

post_type は、記事(post)と固定ページ(page)を指定しています。上記SECELT文を実行して、正しそうかどうかまずは見てください。

記事IDフィールド名
1000_enable_brbrbr1
1005_enable_brbrbr1


のような表が表示されると思うので、それで確認してください。

INSERT文を考える

INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
SELECT wp_posts.ID, '_enable_brbrbr', '1'
FROM wp_posts
WHERE wp_posts.post_status = 'publish' and wp_posts.post_type in ('post','page');

SELECT文をそのまま利用して、上記のように書きます。そうすると、SECELTされたものが、そのまま、wp_postmetaテーブルにINSERTすることができます。

参考:database - Inserting Post Meta From SQL - WordPress Development Stack Exchange

補足

sql-insert-custom-fields01.jpg

PhpMyAdminのSQLタブのところで、SQLを貼り付けて、「実行」とするとSQL実行ができます。作業前は、データのバックアップを取ったほうが良いかと思います。SELECTだけでなくて、INSERT、DELETE、UPFDATEも実行可能です。
スポンサーリンク