Page 1 sur 1

supprimer les doublons

Posté : 26 mars 2007, 23:08
par chris81
Bonjour

j'aimerai savoir comment éliminer les doublons d'une BDD

ma table est batie comme suite

villes
-------------------------------------------------------
id nom CP departement
-------------------------------------------------------
1 aubenas 07200 07
2 vogue 07200 07
3 aubenas 07200 07

je veux éliminer la ligne supplémentaire qui fait doublons

est ce que qulqu'un a une idée !!! :(

Posté : 26 mars 2007, 23:19
par Hubert Roksor
Il faudrait commencer par définir ce qu'est un doublon entre "nom", "CP" ou la combinaison des deux. Je vais imaginer que tu retiens "CP" pour dédoublonner. Il te suffit de créer une table de structure identique mais en déclarant "CP" UNIQUE. Ensuite tu y copies toutes les données de l'ancienne table. À cause de l'index UNIQUE tu ne pourras pas insérer deux fois le même CP. On utilise le mot-clé IGNORE pour indiquer à MySQL de continuer même en cas d'erreur (les doublons sont considérés comme une erreur)

Par exemple:

Code : Tout sélectionner

CREATE TABLE villes2 LIKE villes; ALTER TABLE villes2 ADD UNIQUE CP (CP); INSERT IGNORE INTO villes2 SELECT * FROM villes; DROP TABLE villes; RENAME villes2 TO villes;
N'oublie pas de faire une sauvegarde au cas où ;)

Posté : 26 mars 2007, 23:22
par zeus
Je ne remettrais pas en cause la technique dans ce qu'a dit Hubert mais seulement le fond : un CP n'est pas unique.

La commune de mes parents a le même code postal qu'un 20aine de commune ;)

Posté : 27 mars 2007, 01:53
par Hubert Roksor
C'est bien ce que je me demandais mais je n'arrivais pas à trouver d'exemple. J'ai au moins appris quelque chose aujourd'hui ;)

Posté : 27 mars 2007, 08:30
par zeus
:shock: Ouah, j'ai appris quelque chose à Hubert

S'en va se faire mousser 8-)

Posté : 27 mars 2007, 12:31
par chris801
bien sur qu'il y a des villes qui posaident le meme code postale, comme il peut y avoir des villes du meme nom dans différent département.

ici il sagit de supprimer les villes qui on le meme code postale et le mem nom

Posté : 27 mars 2007, 12:38
par jojolapine
oui bon d'accord hubert s'est trompé sur le champ à rendre unique...
Mais il t'a donné la technique!
Du coup tu arrives à tes fins ?