• User

    Modifica campi DB

    Salve a tutti,
    innanzitutto spero di aver azzeccato il titolo del topic, qualora non fosse comprensibile, chiedo scusa e prego i moderatori di modificarlo o di avvisarmi in modo che lo faccia io!
    Volevo sapere se, una volta creata una tabella in un DB, è possibile aggiungere, eliminare e modificare i campi della tabella a runtime, senza dover tirare giù e ricreare tutto il DB.
    In caso affermativo ditemi come ...

    GRAZIE A TUTTI :ciauz:


  • Moderatore

    Ciao 🙂

    Sì, è possibile.

    Sul come, dà uno sguardo qua:
    http://www.google.it/search?q=guida+sql.

    Nel caso continui ad aver dubbi, chiedi. :ciauz:


  • Super User

    ciao,
    certo che è possibile.
    l'istruzione per variare la struttura di una tabella è alter table.

    puoi fare alter table add [nomecampo] per aggiungere un campo, oppure alter table drop ... per eliminarlo.

    Se invece hai un campo (di una tabella già popolata) che desideri cambiare in tipo o dimensioni le cose si complicano un attimo.
    Devi creare un campo temporaneo (con le caratteristiche di quello vecchio o di quello nuovo, è indifferente), spostare in questo nuovo campo temporaneo tutti i dati, cancellare il campo vecchio, crearlo con le caratteristiche che ti servono e rispostare i dati.
    es:

    campo: nome char(10) e lo vuoi portare a char(20).

    alter table tabella add xnome char(10)
    update tabella set xnome = nome
    alter table tabella drop nome
    alter table tabella add nome char(20)
    update tabella set nome = xnome
    alter table tabella drop xnome.

    quello che ti ho indicato è un utilizzo veramente banale. con il comando alter puoi variare la struttura di una tabella in ogni suo particolare compresi gli indici e le chiavi.

    supponendo che tu utilizzi mysql:
    http://dev.mysql.com/doc/refman/5.0/en/alter-table.html

    se usi un altro db facci sapere quael usi.


  • User

    😄 Grazie ragazzi, non so come ringraziarvi 😉 adesso di materiale ne ho abbastanza .. sarà il caso di mettersi all'opera! :yuppi: :yuppi:
    Comunque per qualsiasi cosa state certi che mi rifarò vivo!!!

    Grazie ancora
    Ale
    :ciauz: