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

Comment supprimer les doublons dans la table MySQL

De nombreux chemins mènent à Rome. C'est un. C'est très rapide. Vous pouvez donc l'utiliser avec de grandes bases de données. N'oubliez pas les indices. L'astuce consiste à rendre phoneNo unique et à utiliser "ignorer".

drop table if exists bkPhone_template;
create table bkPhone_template (
         phoneNo varchar(20),
         firstName varchar(20),
         lastName varchar(20)
 );

insert into bkPhone_template values('0783313780','Brady','Kelly');
 insert into bkPhone_template values('0845319792','Mark','Smith');
 insert into bkPhone_template values('0834976958','Bill','Jones');
 insert into bkPhone_template values('0845319792','Mark','Smith');
 insert into bkPhone_template values('0828329792','Mickey','Mouse');
 insert into bkPhone_template values('0834976958','Bill','Jones');

drop table if exists bkPhone;
create table bkPhone like bkPhone_template;
alter table bkPhone add unique (phoneNo);

insert  ignore into bkPhone (phoneNo,firstName,lastName) select phoneNo,firstName,lastName from bkPhone_template;

drop table bkPhone_template;

Si la table de données existe déjà, vous n'avez qu'à exécuter une sélection de création de table avec une insertion suivante ignorer la sélection. À la fin, vous devez exécuter des instructions de renommage de table. C'est tout.

Cette solution de contournement est beaucoup, beaucoup plus rapide qu'une opération de suppression.