2012-10-02 101 views
1

我有很多重複的文章,這意味着一篇文章被寫入超過一次。我已經想通那些使用此MySQL命令:尋找如何刪除WordPress中的重複帖子

select post_title,post_content,count(*) as count from wp_posts 
group by post_content 
having count(*)>1 
ORDER BY count(*) DESC 

,但是,我怎麼能只刪除重複的職位,因此,如果任何崗位已超過1個複製,那麼只有1個副本被留下。

任何方法,將不勝感激。

回答

4

我建議備份您的SQL數據庫之前嘗試下面。

嘗試:

DELETE bad_rows . * FROM ktz3_posts AS bad_rows INNER JOIN (
    SELECT post_title, MIN(id) AS min_id 
    FROM ktz3_posts 
    GROUP BY post_title 
    HAVING COUNT(*) >1 
) AS good_rows ON good_rows.post_title = bad_rows.post_title 
AND good_rows.min_id <> bad_rows.id 

正如上面的代碼是未經測試,你可以嘗試Duplicate Post Remover

+0

嘿 - 它已經有一段時間了,但我有一個問題,我該如何添加到這個查詢保護刪除具有相同metafiled的dupe?例如,我想讓一些模糊的東西繼續存在,但是共享meta_value的模糊需要被刪除。 –