次のクエリを使用してデータベースに重複エントリを表示しています(誤ってスクリプトを2回実行したようですが、悪意のあるユーザーであった可能性があります)。重複している場合、MySQL DBから行を削除する
それは実際に私の要件を満たしていませんが、私は、次のクエリを使用しています:
SELECT meta_value, COUNT(meta_value) AS cnt
FROM wp_postmeta
GROUP BY meta_value
HAVING cnt > 1
ORDER BY cnt;
私は重複したエントリが同じpost_id
とmeta_key
を持っているかどうかを確認するために、クエリたいと思います。
ので、例えば:
meta_id post_id meta_key meta_value
1 10 size large
2 10 colour blue
3 10 size large
4 11 size large
meta_id
1と3は、重複したエントリです。
私はこのようなエントリのすべてを削除したいと思います。
1つのクエリでこれを行う方法はありますか?クエリが期待どおりに行えることを確認するために行を最初に見ることができれば、それは素晴らしいことです。事前に
おかげで、
[テーブルから重複する行を削除する]可能性のある複製(http://stackoverflow.com/questions/1043488/deleting-duplicate-rows-from-a-table) –
最初に重複を取得した理由を見つけてください! – Har