|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> PHP /MySQL Programmering >> Content

    Hur bli av dubbletter i MySQL

    Om MySQL tabellen innehåller hundratals eller tusentals poster , vill du inte att manuellt söka igenom var och en att försöka identifiera dubbletter . MySQL har inte en enda fråga som du kan använda för att ta bort dubbla poster i en tabell , men du kan använda en kombination av frågor och verkställa dem tillsammans för att eliminera dina dubblar . Även om tabellen använder en primärnyckel för att unikt identifiera poster , kan du ta bort dubbletter genom att inte välja primärnyckelfältet i dina frågor . . Instruktioner
    1

    logga in på din MySQL-databas och få tillgång till frågeverktyg
    2

    Ange följande fråga :

    skapa temporär tabell temp SELECT DISTINCT col1 , col2 , col3 FROM tabellnamn GROUP BY col1 , col2 , col3 sOM COUNT ( * ) > 1 ,

    Detta skapar en temporär tabell som kontrollerar bordet levereras av " tabellnamn " och när den hittar en dubblettpost , det skär som duplicerar i den tillfälliga tabellen , men bara en gång . Till exempel, om " tabellnamn " har tre poster , " Jim ", " Bob " och " Bob ", den " temp " tabellen endast kommer att ha en post , " Bob . " . Om " col1 " fungerar som en primär nyckel fält i tabellen , inte omfattar " col1 " i frågan och helt enkelt välja de två andra kolumnerna
    3

    Ange följande fråga :

    DELETE FROM tabellnamn WHERE ( col1 , col2 , col3 ) iN ( SELECT col1 , col2 , col3 från temp ) ;

    Denna fråga kontrollerar varje post i " tabellnamn " och tar bort alla poster som har dubbletter , inklusive originalet . Till exempel, om bordet har tre poster , " Jim ", " Bob " och " Bob ", frågan kommer att ta bort både "Bob " poster , vilket innebär att endast " Jim " i " tabellnamn . " Återigen , ta bort referenser till " col1 " i frågan om " col1 " är primärnyckelfältet
    4

    Ange följande fråga : .

    INSERT INTO tabellnamn ( col1 , col2 , col3 ) SELECT col1 , col2 , col3 från temp ,

    Denna fråga kopierar väsentligen alla poster från den temporära tabellen och infogar dem tillbaka till " tabellnamn . " Om det vid denna tidpunkt " tabellnamn " bara " Jim " och " temp " bara har " Bob ", efter förfrågan , kommer " tabellnamn " ha " Jim " och "Bob " poster medan den temporära tabellen tas bort . Kom ihåg att ta bort " col1 " referenser om det är en primär nyckel .
    5

    Utför alla frågor .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur vill kolla skript i MySQL
    ·Hur aktiverar jag FDF Into PHP
    ·Apache Thrift PHP är långsam
    ·Hur man använder Arv i PHP
    ·Hur Hämta en Array i MySQL
    ·Konvertera Access till MySQL
    ·Hur man skapar MySQL-databaser för att installera DSN
    ·Hur man ansluter till en fjärrdatabasservern för MySQ…
    ·Hur Inkludera ett PHP Header
    ·Hur man skapar ett Flash PHP Mysql Webbplats
    Utvalda artiklarna
    ·De bästa ställen att sätta Net Application Loggar
    ·Hur du använder Adobe Acrobat PDF-filer i en Delphi Ap…
    ·Hur kan man överföra till S3 med Python
    ·Hur man använder Python att Fetch API Data
    ·Vektor Indexering i MATLAB
    ·Hur man skapar lucka I GtkRadiant
    ·Så här aktiverar Påståenden i Eclipse
    ·Hur till Öppen Java bilder i Android
    ·Hur vill hänvisa till en byte i arbetsminne i COBOL
    ·Hur man kör Fortran F-kod på Ubuntu
    Copyright © Dator Kunskap http://www.dator.xyz