sql >> Databasteknik >  >> RDS >> Mysql

Hur man tar bort dubbletter i MySQL-tabellen

Många vägar leder till Rom. Det här är en. Det är väldigt snabbt. Så du kan använda den med stora databaser. Glöm inte indeces.Tricket är:gör phoneNo unik och använd "ignorera".

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;

Om datatabellen redan finns, behöver du bara köra en skapa tabellval med en följande infoga ignoreringsval. I slutet måste du köra några tabeller som byter namn på uttalanden. Det är allt.

Den här lösningen är mycket, mycket snabbare än en raderingsoperation.



  1. JSON_QUERY() vs JSON_VALUE() i SQL Server:Vad är skillnaden?

  2. 2 sätt att skapa en tabell om den inte finns i SQL Server

  3. Konfiguration av MySQL 8

  4. VÄLJ FÖR XML AUTO och returnera datatyper