Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> PHP /MySQL Programmazione >> .

Come sbarazzarsi di duplicati in MySQL

Se la tabella di MySQL contiene centinaia o migliaia di record , non si vuole cercare manualmente attraverso ciascuno per cercare di identificare i record duplicati . MySQL non ha una singola query che è possibile utilizzare per rimuovere le voci duplicate in una tabella , ma è possibile utilizzare una combinazione di query ed eseguirli insieme per eliminare le doppie. Anche se la vostra tabella utilizza una chiave primaria per identificare in modo univoco i record , è possibile rimuovere i duplicati non selezionando il campo chiave primaria nelle query. Istruzioni .
1

accedere al tuo database MySQL e accedere al tool di query
2

immettere la seguente query : CREATE TEMPORARY

temperatura TABELLA SELECT DISTINCT col1 , col2 , col3 FROM nome_tabella GROUP bY col1 , col2 , col3 HAVING COUNT ( * ) > 1 ;

questo crea una tabella temporanea che controlla la tabella fornita da " nome_tabella " e quando trova un record duplicato , che inserisce doppie nella tabella temporanea , ma solo una volta . Per esempio, se " nome_tabella " ha tre voci , " Jim ", " Bob " e " Bob ", il " temp" tavolo avrà un solo disco, " Bob ". . Se " col1 " agisce come un campo chiave primaria della tabella , non includere " col1 " nella query e semplicemente selezionare le altre due colonne
3

immettere la seguente query :

DELETE FROM nome_tabella WHERE ( col1 , col2 , col3 ) in (select col1 , col2 , col3 DA temp) ;

Questa query verifica ciascun record in " nome_tabella " e cancella tutti i record che contengono i duplicati , incluso l'originale . Ad esempio, se la tabella ha tre voci , " Jim ", " Bob " e " Bob ", la query verrà eliminato entrambe le " " record, lasciando solo " Jim Bob " in " nome_tabella ". Anche in questo caso , rimuovere i riferimenti a " col1 " nella query se " col1 " è il campo chiave primaria
4

immettere la seguente query : .

INSERT INTO nome_tabella ( col1 , col2 , col3 ) SELEZIONA col1 , col2 , col3 dA temperatura ;

Questa query essenzialmente copia tutti i record dalla tabella temporanea e di nuovo nel inserti " nome_tabella ". Se a questo punto " nome_tabella " ha solo " Jim " e " temp" ha solo " Bob ", dopo l'interrogazione , " nome_tabella " avrà " Jim " e registra "Bob" , mentre la tabella temporanea viene eliminato . Ricordatevi di rimuovere i riferimenti " col1 " se è una chiave primaria .
5

eseguire tutte le query .

 

Programmazione © www.354353.com