Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    67

    [MySQL] Cancellare tabelle

    Ciao a tutti,
    avevo provato tempo fa a fare delle prove con tanti programmini che utilizzavano mysql e adesso mi trovo con il database pieno zeppo di tabelle che non servono assolutamente a niente ma occupano solo spazio.
    Allora mi chiedevo se esisteva un modo per cancellare tutte le tabelle per esempio con il prefisso "nuke_" senza stare li a cancellarle tutte una a una manualmente...

    Grazie mille,
    Paolo

  2. #2
    Uhm...
    Non so se funziona nuke_% per le tabelle
    Se no, fare uno script che scorre tutte le tabelle e controlla se contengono nuke_ e se si le elimina?

  3. #3
    Non credo si possano usare caratteri jolly nel nome_tabella da cancellare.

    Puoi fare pero' cancellazioni multiple.

    DROP TABLE tab1, tab2, tab3


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

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    67
    mmm credo di non aver capito bene cosa intendi... che comando devo dare?
    fai conto che sono abbastanza ignorante in questo campo...

  5. #5
    Per le cancellazioni multiple semplicemente
    DROP TABLE nometabella1, nometabella2,...
    insomma, i nomi di tutte le tabelle separati da una virgola.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    67
    Cacchio ma se ne devo cancellare più di 400 ci metto una vita...
    Mi avevano consigliato uno script php che faccia tutto in auto ma non sono in grado di scriverlo

  7. #7
    Allora fai lo script!
    Aspe che ci provo a scriverlo...

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    67
    Grazie mille!

  9. #9
    Ecco fatto. A me funziona, l'ho provato. Ovviamente sostituisci i tuoi dati nella connessione e il nome del db.

    codice:
    <?php 
    mysql_connect("host", "user", "pass"); 
    $tabelle = mysql_list_tables("nomedb"); 
    $righe = mysql_num_rows($tabelle); 
    for ($i = 0; $i < $righe; $i++) { 
        $tabella=mysql_tablename($tabelle, $i); 
        if (substr($tabella,0,5)=='nuke_') 
        { 
            $ris = mysql_query("DROP TABLE $nometabella");
            echo 'Tabella: '.$tabella.' cancellata
    '; 
        } 
    } 
    
    mysql_free_result($result); 
    ?>

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    67
    Ciao, lo ho provato e anche a me fa tutto l'elenco delle tabelle con prefisso nuke_ e mi dice cancellate ma se vado su myadmin me lo trovo ancora... Forse cè bisogno di tempo?

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.