French English German Italian Russian Spanish

Partout sur le web on peut trouver comment supprimer des doublons d'une table sql, c'est bien gentil mais les solutions sont à chaque fois, "nous allons trier la table et différencier sur la colonne qui n'est pas identique" !

Mais mince pour ne pas être vulgaire, nos lignes sont PARFAITEMENT IDENTIQUES !

Voici la solution pour enfin en terminer avec ses doublons parfaits en base de donnée et en garder un seul

Ajouter une clé unique sur la table

rendez vous dans phpmyadmin et choisissez la base de donnée puis sql et tapez :

ALTER TABLE matable ADD iduniqueamoi INT PRIMARY KEY AUTO_INCREMENT;

ATTENTION avant de valider il est bon de vérifier que vous n'avez pas de colonnes s'appelant iduniqueamoi :)

puis validez, nous venons d'ajouter enfin une colonne unique pour différencier vos doublons OUF

Supprimer un des doublons par requête sql

DELETE n1 FROM matable n1, matable n2

WHERE n1.iduniqueamoi > n2.iduniqueamoi 

AND n1.champ1 = n2.champ1

AND n1.champ2 = n2.champ2 

AND n1.champ3 = n2.champ3

Le but vous l'aurez compris est de prendre le maximum de colonne ou champ de chaque ligne pour être sur que ce soit bien des doublons (champ1, champ2, champ3)

Puis vous pouvez par phpmyadmin supprimer la clé que nous avons construit ou pas !

 

En espérant encore vous avoir aidé :)