Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment supprimer tous les enregistrements en double dans une table MySQL sans tables temporaires

Ajouter un index unique sur votre table :

ALTER IGNORE TABLE `TableA`   
ADD UNIQUE INDEX (`member_id`, `quiz_num`, `question_num`, `answer_num`);

Une autre façon de procéder serait :

Ajoutez une clé primaire dans votre table, puis vous pourrez facilement supprimer les doublons de votre table à l'aide de la requête suivante :

DELETE FROM member  
WHERE id IN (SELECT * 
             FROM (SELECT id FROM member 
                   GROUP BY member_id, quiz_num, question_num, answer_num HAVING (COUNT(*) > 1)
                  ) AS A
            );