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

    [mysql] eliminare record con campo non unico

    Forse quel "non unico" non rende bene l'idea.
    Intendo questo: nel db ho vari record, alcuni dei quali hanno il valore di un campo coincidente, io vorrei eliminare i doppioni (nessun'altra clausola/condizione).

    Ho cercato già nel forum ma ho trovato solo per array, niente db.

    Sapete consigliarmi?


    Ciaooooo!!!!!!
    Originariamente inviato da kalamaro
    una volta avevate linkato la pagina di un software per eliminare i ciao! di debug dai post, ho provato nel mio negozio di fiducia a scaffale non lo hanno, vi ricordate il nome?

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Ma c'è comunque un campo che rende univoco ogni record ?

  3. #3
    Si si c'è un campo autoincrement.


    Ciaooo!!!
    Originariamente inviato da kalamaro
    una volta avevate linkato la pagina di un software per eliminare i ciao! di debug dai post, ho provato nel mio negozio di fiducia a scaffale non lo hanno, vi ricordate il nome?

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Non testato.

    codice:
    <?
    $query = "select campo_doppioni, campo_id from tabella order by campo_doppioni";
    $res   = mysql_quey($query);
    $rott  = "";
    while (list($campo_doppioni, $campo_id) = mysql_fetch_array($res)) {
     if ($campo_doppioni != $rott) {
      $rott = $campo_doppioni;
    	$num  = 0;
     }
     if ($num > 0) {
      $query2 = "delete from tabella where campo_id = '$campo_id'";
      $res2   = mysql_quey($query2); 
     } 
     $num   = $num + 1
    } ?>

  5. #5
    Fabio's queries docet: (della serie dare a Cesare quello che e' di Cesare)...
    codice:
    create temporary table temp
    select * from tabella
    group by campo_doppio;
    
    truncate table tabella;
    
    INSERT INTO tabella
    select * from temp;

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

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Originariamente inviato da piero.mac
    Fabio's queries docet: (della serie dare a Cesare quello che e' di Cesare)...
    codice:
    create temporary table temp
    select * from tabella
    group by campo_doppio;
    
    truncate table tabella;
    
    INSERT INTO tabella
    select * from temp;
    Si impara sempre !!!

  7. #7
    Grazie mille!
    Ho dovuto modificare un po' la soluzione ma è stato un prezioso suggerimento!


    Ciaoooooo!!!!!!!!
    Originariamente inviato da kalamaro
    una volta avevate linkato la pagina di un software per eliminare i ciao! di debug dai post, ho provato nel mio negozio di fiducia a scaffale non lo hanno, vi ricordate il nome?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.