Header
[MySQL] - Eliminare duplicati da una tabella
in: RDBMS  So/Code: Generico Data: 30/04/2013
Ora: 10.57:08
Articolo visualizzato: 3520 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

329 giorni fa
550 giorni fa

 [EN] Last Articles

 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

70
68
3842

 Tags Cloud

side Display Display Gingerbread minecraft mode touchscreen device tecnologie pax doppio Sharp apple virtualizzare Display 1280x720 102SH 3D 102SH device



 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.094 secondi. Geek-Blog.it