>> ...la tabella di destinazione viene creata con la suddetta query in >> automatico o la devo creare prima con tutti i campi??? > Dipende dal dbms. Sinceramente non ho mai usato mysql, quindi devi > vedere la documentazione (o chiedi ad Alb. Basso ;) ). ecchime! no, la tab. deve esistere. Per il resto ti consigio di indagare sulla struttura della tabella, perchè contiene righe duplicate? Se pensi che non debba esistere un record doppio all'interno di una colonna devi attribuire a questa colonna la proprietà 'Unique', in questo modo anche se tenti di effettuare una INSERT di una riga che esiste già il DB ti manda a quel paese. Con questo comando crei una tabella di nome 'prova' e con il campo 'url' che è la chiave primaria della tabella, campo univoco e mai vuoto (not null): CREATE TABLE `prova` (`url` VARCHAR (255) DEFAULT '0' NOT NULL, PRIMARY KEY(`url`), UNIQUE(`url`), INDEX(`url`)) Se vuoi operare su una tab. esistente devi utilizzare un comando tipo questo: ALTER TABLE `prova` ADD `url` VARCHAR(255) NOT NULL ALTER TABLE `prova` ADD PRIMARY KEY (url) (il primo aggiunge la colonna 'url', il secondo associa a questa colonna la chiave primaria) Per ricreare una tabella contenente i dati corretti provenienti da una tabella con righe doppie ti consiglio di: 1. Salvare su file l'output della query con la clausola DISTINCT sulla tab. errata. (prova anche ad usare mysqldump) 2. Ricreare la nuova tabella strutturata in modo corretto. 3. Ricaricare i dati su questa tabella dal file generato precedentemente. Se non ci salti fuori dimmi esattamente cosa deve fare la tabella nuova (campi, proprietà, ecc...) che ti invio tutti i comandi sql che ti servono per crearla. bye bye, alb.