sql >> Databáze >  >> RDS >> Mysql

Jak odstraním všechny duplicitní záznamy v tabulce MySQL bez dočasných tabulek

Přidejte Unikátní index na vašem stole:

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

Další způsob, jak to udělat, by byl:

Přidejte primární klíč do tabulky a poté můžete duplikáty z tabulky snadno odstranit pomocí následujícího dotazu:

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
            );


  1. Jak najít maximální hodnoty v řádcích

  2. inicializovat databázi sqlite pro Android

  3. Přidejte cizí klíč do existující tabulky

  4. Pokuste se znovu otevřít již uzavřený objekt sqlitedatabase