Si votre table MySQL contient des centaines ou des milliers d' enregistrements, vous ne voulez pas rechercher manuellement à travers chacun de tenter d'identifier les doublons . MySQL n'a pas une seule requête que vous pouvez utiliser pour supprimer les entrées dupliquées dans une table, mais vous pouvez utiliser une combinaison de requêtes et de les exécuter ensemble pour éliminer vos doubles. Même si votre table utilise une clé primaire pour identifier les dossiers , vous pouvez supprimer les doublons en ne sélectionnant pas le champ de clé primaire dans vos requêtes . . Instructions
1
de se connecter à votre base de données MySQL et accéder à l' outil de requête
2
Entrez la requête suivante:
CREATE TABLE temp TEMPORAIRE SELECT DISTINCT col1, col2 , col3 dU GROUPE pAR table_name col1, col2 , col3 AYANT COUNT (*) > 1 ;
Cela crée une table temporaire qui vérifie le tableau fourni par "nom de table " et quand il trouve un enregistrement en double il insère cette double dans la table temporaire , mais seulement une fois . Par exemple, si "nom de table " dispose de trois entrées , " Jim ", " Bob " et " Bob ", le "temp" table aura qu'un seul enregistrement , "Bob ". . Si " col1 " agit comme un champ de clé primaire de la table , ne pas comprendre " col1 " dans la requête et il suffit de sélectionner les deux autres colonnes
3
Entrez la requête suivante:
DELETE FROM table_name WHERE ( col1, col2 , col3 ) IN ( SELECT col1, col2 , col3 dE temp) ;
Cette requête vérifie chaque enregistrement de " table" et supprime tous les enregistrements qui ont des doublons , y compris l'original . Par exemple, si le tableau comporte trois entrées , " Jim ", " Bob " et " Bob ", la requête va supprimer les deux " " dossiers , ne laissant que " Bob Jim" dans "nom de table " . Encore une fois, enlever les références à " col1 " dans la requête si " col1 " est le champ de clé primaire
4
Entrez la requête suivante: .
INSERT INTO nom_table ( col1 , col2, col3 ) SELECT col1, col2 , col3 dE temp;
Cette requête copie quasi-totalité des enregistrements de la table temporaire et insère à nouveau dans "nom de table ". Si à ce stade "nom de table " ne dispose que "Jim" et "temp" ne dispose que "Bob ", après la requête, " table" aura "Jim" et enregistre "Bob" tandis que la table temporaire est supprimé . N'oubliez pas de supprimer les références " col1 " s'il s'agit d'une clé primaire.
5
exécuter toutes les requêtes.