Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como faço para excluir todos os registros duplicados em uma tabela MySQL sem tabelas temporárias


Adicionar Índice exclusivo na sua mesa:
ALTER IGNORE TABLE `TableA`   
ADD UNIQUE INDEX (`member_id`, `quiz_num`, `question_num`, `answer_num`);

Outra forma de fazer isso seria:

Adicione a chave primária à sua tabela e remova facilmente duplicatas da sua tabela usando a seguinte consulta:
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
            );