脳内プラグイン

プログラム関連のメモ書きというか落書きというか

wp_postmetaの重複データ削除

Wordpressでインポートしまくるとwp_postmetaテーブルなどに重複データがわんさか。
特定のmeta_keyなどをチェックしながら削除したいなと思いググる

で、重複データの削除をとググると以下のような記事が上がってきたので拝見。

detail.chiebukuro.yahoo.co.jp

こちらを元に重複データのmeta_idが一番若いものを残して削除したかったので、

delete from wp_postmeta
 where meta_key = '任意のkey' and not in (
   select min_id from (
    select min(meta_id) as min_id from wp_postmeta where meta_key = '任意のkey' group by post_id, meta_value
   ) as tmp
  )
);

SQLを書いて処理した。

もっと簡単なやり方があるのかもしれないが、少しSQLの勉強になった。