Hvis MySQL tabellen inneholder hundrevis eller tusenvis av poster, om du ikke ønsker å manuelt se gjennom hver enkelt å prøve å identifisere like poster . MySQL har ikke en enkelt spørring som du kan bruke til å fjerne duplikater i en tabell , men du kan bruke en kombinasjon av spørsmål og kjøre dem sammen for å eliminere dine dobles. Selv om tabellen bruker en primærnøkkel for å identifisere poster, kan du fjerne duplikater ved ikke å velge primærnøkkelen feltet i dine spørsmål. . Instruksjoner
en
Logg deg på MySQL -database og få tilgang til spørring verktøy
2
Oppgi følgende spørring : en
oppretter midlertidige TABLE temp SELECT DISTINCT col1 , col2 , kol3 fRA table_name GROUP bY col1 , col2 , kol3 HAR ANTALL ( * ) > 1;
Dette skaper en midlertidig tabell som sjekker tabellen levert av " table_name ", og når den finner en duplisert post det setter imidlertid inn som dupliserer inn den midlertidige tabellen , men bare én gang . For eksempel, hvis " table_name " har tre oppføringer , " Jim ", " Bob" og " Bob , " the " temp " tabellen vil bare ha én post , " Bob ". . Hvis " col1 " fungerer som en primærnøkkel felt i tabellen , inkluderer ikke " col1 " i søket , og bare velger de to andre kolonner
3
Skriv inn følgende spørring:
DELETE FROM table_name WHERE ( kol1, kol2, kol3 ) iN ( col1 SELECT, col2 , kol3 FRA temp) ;
Dette søket sjekker hver enkelt post i " table_name " og sletter alle poster som har duplikater , inkludert den opprinnelige . For eksempel , hvis tabellen har tre oppføringer , " Jim ", " Bob" og " Bob ", spørringen vil slette både " Bob " poster , slik at bare " Jim" i " table_name . " Igjen , fjerne referanser til " col1 " i spørringen hvis " col1 " er primærnøkkelen feltet
4
Skriv inn følgende spørring: .
INSERT INTO table_name ( kol1, col2 , kol3 ) col1 SELECT, col2 , kol3 fRA temp ;
Dette søket hovedsak kopierer alle postene fra den midlertidige tabellen og setter dem tilbake i " table_name . " Dersom du på dette punkt " table_name " bare har " Jim" og " temp " bare har " Bob ", etter at søket, vil " table_name " har " Jim " og " Bob " poster , mens den midlertidige tabellen blir slettet . Husk å fjerne " col1 " referanser hvis det er en primærnøkkel .
5
Utfør alle spørringer.