Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    rimuovere campi duplicati

    ho un db con oltre 2 milioni di record e ho la necessità di rimuovere tutti quei record che contengono uno stesso valore più volte in un determinato campo, per adesso sto procedendo con un semplice script php che mantiene un solo record e rimuove tutti gli altri uguali ma il procedimento risulta molto lento.
    Mi chiedevo se esiste qualche procedura mysql da eseguire direttamente sottoforma di query, se trasformo il campo in un UNIQUE? cosa succede?

  2. #2
    con unique succede nulla. trova un valore duplicato ed esce senza applicare la modifica.

    Banalmente fai una copia della tabella utilizzando il group by oppure distinct, quale usare dipende da come e cosa dovresti evitare la duplicazione e quindi ottenere una nuova tabella con i soli valori singoli.

    Dopo controllato che la cosa fatta sia corretta puoi rinominare le due tabelle. A cancellare hai sempre tempo. Prima assicurati di cio' che hai fatto.

    codice:
    CREATE TABLE tab_nuova
    SELECT * FROM tab_vecchia
    group by campo_con_doppioni
    order by id (o altro che possa servire)

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.