Header
[MySQL] - Eliminare duplicati da una tabella
in: RDBMS  So/Code: Generico Data: 30/04/2013
Ora: 10.57:08
Articolo visualizzato: 3876 volte

Può capitare di dover eliminare dei duplicati , non precedentemente filtrati, da una tabella. Per effettuare questa operazione dobbiamo effettuare un travaso utilizzando 'ON DUPLICATE KEY UPDATE' .

La specifica 'ON DUPLICATE KEY UPDATE' in caso di insert causa un UPDATE quando si verifica una chiava duplicata per i campi UNIQUE e PRIMARY KEY.

Per eliminare i duplicati andremo a creare una tabella temporanea identica all'originale e travaseremo i dati.

 

CREATE TABLE tmp LIKE tabella_originale;

ALTER TABLE tmp ADD UNIQUE(campoduplicati);

INSERT INTO tmp SELECT * FROM tabella_originale;
    ON DUPLICATE KEY UPDATE campoduplicati=ifnull(campoduplicati, values(campoduplicati));

RENAME TABLE tabella_originale TO cancella, tmp TO tabella_originale;

DROP TABLE cancella;

Commenti Commenti (0) | User Autore: Guido Camerlingo (Guiz)
Tags: sql duplicate eliminazione duplicati ON DUPLICATE KEY UPDATE mysql sql





Articoli Correlati
[MySQL] - Eliminare duplicati da una tabella
[MySQL] - Funzione REPLACE lo string replace di MySQL
[JAVA] Installare MySQL Java Connector su NetBeans
[MySQL] - UNION ALL tra INT e valore numerico fisso ( Problema VARBINARY )
Backup a MySQL database and gzips use bash script

Commenti

Scrivi Commento
Codice Verifica

Commento massimo 5000 caratteri.(Tutti i campi contrassegnati da * sono obbligatori).

   

Ricerca

Glossario Naviga nel nostro glossario!
Scopri il gergo dei Geek!


 ULTIMI ARTICOLI

572 giorni fa
793 giorni fa

 [EN] Last Articles

1091 giorni fa
 Siti Amici

Visita il Blog Roll
Contattaci! Diventa nostro amico!



 Hot Downloads


 Categorie

85
163
58
87
13
2
20
36
1
2
5
5
128
7
24
15
62
45

 Code

11
11
3
6
2
24
1
7

 Games

19
45
13

 GUIDE


 Novità Downloads

71
69
3872

 Tags Cloud

aggiornamento stallman non ubuntu Pen appunti oppure con entry con richard disegnare tablet HTC level con android disegnare libero



 CopyRight

Valid XHTML 1.0 Transitional CSS Valido! [Valid RSS] Creative Commons License


Geek-Blog by Flavio Mandato, Giuseppe Vaccaro, Guido Camerlingo, Stefano Natale, Domenico Cavallo is licensed under a Creative Commons Attribuzione-Non opere derivate 2.5 Italia License.
Based on a work at www.geek-blog.it.
Permissions beyond the scope of this license may be available at http://www.geek-blog.it/

Disclaimer - Responsabilità - Pagina generata in 0.077 secondi. Geek-Blog.it