- Home
- Categorie
- Coding e Sistemistica
- Coding
- Elencare i record doppi in una tabella
-
Elencare i record doppi in una tabella
Sul sito [...] mi ritrovo molti record doppi, ma a mano mi ci vuole una montana di tempo ad individuarli dentro il db, come posso scrivere ed eseguire una funzione che mi elenca i record doppi e poi a mano li seleziono per cancellarli usando phpmyadmin?
O quali altre soluzioni potrei utilizzare?
-
Ciao,
per selezionare i record che hanno uno o più campi duplicati puoi fare così:
SELECT * FROM tabella USING tabella, tabella AS tabella_tmp WHERE tabella.id > tabella_tmp.id AND tabella.campo_duplicato_1 = tabella_tmp.campo_duplicato_1 AND tabella.campo_duplicato_2 = tabella_tmp.campo_duplicato_2 AND tabella.campo_duplicato_3 = tabella_tmp.campo_duplicato_3 ...
Per eliminarli direttamente basta sostituire SELECT * con DELETE
DELETE FROM tabella USING tabella, tabella AS tabella_tmp WHERE tabella.id > tabella_tmp.id AND tabella.campo_duplicato_1 = tabella_tmp.campo_duplicato_1 AND tabella.campo_duplicato_2 = tabella_tmp.campo_duplicato_2 AND tabella.campo_duplicato_3 = tabella_tmp.campo_duplicato_3 ...
Alessandro