MySQL - Supprimer des doublons dans une table

Septembre 2016

Pour supprimer des doublons au niveau d'une table donnée définie comme suit :
CREATE TABLE IF NOT EXISTS TabTest (    
           cle_prim integer(4) NOT NULL auto_increment, 
           x integer, 
           y integer, 
           z integer, 
           Constraint pk_Tab_test PRIMARY KEY  (cle_prim)                            
); 

Il faut commencer par fixer les champs relatifs au doublons (dans notre cas les champs x et y):
mysql> select * from TabTest; 
+----------+------+------+------+ 
| cle_prim | x    | y    | z    | 
+----------+------+------+------+ 
|        1 |    1 |    2 |    3 | 
|        2 |    1 |    2 |    3 | 
|        3 |    1 |    5 |    4 | 
|        4 |    1 |    6 |    4 | 
+----------+------+------+------+ 
4 rows in set (0.00 sec) 

Pour supprimer les doublons au niveau des champs x et y lancer la commande :
ALTER IGNORE TABLE  TabTest ADD UNIQUE INDEX(x,y); 

A voir également :

Ce document intitulé «  MySQL - Supprimer des doublons dans une table  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.