par
Ripat » 24 août 2005, 13:33
Salut
dans le but de créer une table temporaire avec l'ensemble des donnée de ma table initiale, il me faudrai supprimmer les doublons mais sur certain champs de ma première table ...
Comment procéder
Merci

La méthode la plus simple pour supprimer des doublons est de créer un index composite
unique, sur les colonnes dont tu veux éviter les doublons.
Exemple: dans ta table ma_table tu veux supprimer toutes les lignes qui présentent les même valeurs pour les colonnes 1, 3 et 5.
Code : Tout sélectionner
#création de l'index unique (IGNORE, pour ignorer les erreurs, est indispensable)
ALTER IGNORE TABLE ma_table ADD UNIQUE mon_index (col1, col3, col5)
# supression de l'index si superflu
ALTER TABLE ma_table DROP INDEX mon_index
Pas besoin de table temporaire. Mysql fait le travail tout seul mais attention, pas de retour en arrière possible! Songe à faire une copie avant.
[quote="jujub"]Salut
dans le but de créer une table temporaire avec l'ensemble des donnée de ma table initiale, il me faudrai supprimmer les doublons mais sur certain champs de ma première table ...
Comment procéder
Merci :wink:[/quote]
La méthode la plus simple pour supprimer des doublons est de créer un index composite [u]unique[/u], sur les colonnes dont tu veux éviter les doublons.
Exemple: dans ta table ma_table tu veux supprimer toutes les lignes qui présentent les même valeurs pour les colonnes 1, 3 et 5.
[code]#création de l'index unique (IGNORE, pour ignorer les erreurs, est indispensable)
ALTER IGNORE TABLE ma_table ADD UNIQUE mon_index (col1, col3, col5)
# supression de l'index si superflu
ALTER TABLE ma_table DROP INDEX mon_index[/code]
Pas besoin de table temporaire. Mysql fait le travail tout seul mais attention, pas de retour en arrière possible! Songe à faire une copie avant.