03 Mai, 2008
Mysql astuce pour supprimer des postes en double Wordpress
Posté par: admin Dans: wordpress
J'ai récemment rencontré des problèmes avec un installation de Wordpress mine, où une maison a été totalement script-dessus, et n'a jamais cessé de fonctionner, en ajoutant des postes à la base de données. Pendant quelques jours, elle a ajouté près de 93.000 postes, dont tous étaient des doublons.
Après un peu de recherche j'ai trouvé le problème, mais entrer dans la base de données pour le nettoyage a été un peu un problème, car le script est toujours en cours d'exécution. J'ai dû supprimer totalement le script de mon installation afin de l'arrêter!
J'ai été présent à gauche avec quelque chose de 96.000 postes, dont je savais que 93.000 ont été ou si des doublons! Comment faire pour nettoyer les place? Je pouvais utiliser le manuel, qui j'ai commencé, mais j'ai vite réalisé que je serait vieux et gris avant que le problème résolu.
Un peu de recherche Google (où d'autre pour commencer votre recherche?) J'ai trouvé un chouette script pour aider exactement avec ce problème:
DELETE bad_rows.*
from wp_posts as bad_rows
inner join (
select post_title, MIN(id) as min_id
from wp_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
Cette solution a été trouvée sur le forum de support Wordpress.org
Cela a résolu le problème, et mon blog est désormais de nouveau normalement.
Ps n'oubliez pas de sauvegarder votre base de données avant de faire cela!














