Post  |  Commenti

Post Meta

6th
DEC

Spostare campi Mysql

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Posted by raphe | Filed under Appunti, Programming

Se per qualche motivo avete un database mysql e in qualche tabella avete bisogno di spostare dei campi…questo è il post che fa per voi!
Oggi avevo necessità di spostare un campo (per spostare intendo proprio a livello di posizione, compreso il contenuto)e, mi son messo a cercare sul web prima di procedere a mano. Se per qualche motivo vi siete trovati nella stessa situazione e avete anche voi cercato, o chiesto su forum, ng, ecc. sicuramente vi avranno risposto cose del tipo: “perché devi farlo?”, “che conta la posizione?”, “stai sbagliando!”, ecc. Mi da molto fastidio quando i frequentatori di questi posti si comportano così.

Comunque, non perdiamo altro tempo ;) la soluzione è questa:

ALTER TABLE NOME_TABELLA MODIFY NOME_CAMPO DEFINIZIONE_CAMPO AFTER CAMPO_RIFERIMENTO

Vi spiego cosa significa…

sostituite i seguenti valori:

  • NOME_TABELLA: il nome della tabella da modificare;
  • NOME_CAMPO: il nome del campo che volete spostare;
  • DEFINIZIONE_CAMPO: il tipo del campo che state spostando;
  • CAMPO_RIFERIMENTO: il campo dopo il quale volete inserire il vostro.

Vi faccio un esempio: se avete una tabella test con i campi uno, due, tre (di tipo varchar(50)) e volete mettere tre prima di due, dovete eseguire il comando in questo modo:

ALTER TABLE test MODIFY tre varchar(50) AFTER uno

Tags: > > >

Reader's Comments

  1. Musikele |

    Perchè dovremmo fare una cosa del genere? mi viene in mente solo il caso in cui vado a fare una tabella e si trova prima il prefisso, poi l’indirizzo (!) e poi il telefono. Ma quest’esempio è scemotto.

    Per cosa l’hai usato?

    P.s. e lo sai che non l’ho fatto solo per semplice curiosità… ma anche per infastidirti! che cazzimma

  2. raphè |

    diciamo che l’esempio sta qui disponibile per qualsiasi uso, indipendentemente da ciò che ne ho fatto io.
    cmq se sei curioso, a me serviva perché avevo una tabella con dei campi e un’interfaccia web per modificarli, il cliente chiedeva di avere il campo data come secondo campo perché così la vedeva subito.
    ho risolto spostandolo!
    sia chiaro, il db era già popolato, altrimenti bastava cancellare la tabella e rifarla o cose spartane del genere ;)

  3. Gae |

    A me per esempio serve perchè ho sbagliato l’ordine nel creare la tabella ed adesso per importare un file di testo devo per forza spostare i campi nell’ordine che ho nel txt.

    Gae

  4. raphè |

    ah ecco!
    alla faccia di chi dice che è un’operazione inutile
    fa sempre piacere poter essere d’aiuto a qualcuno ;)

  5. eibike |

    ottimo suggerimento. Tra l’altro non l’ho trovato citato sul testo “Mysql 5″ di Michael Kofler, mentre anche nel mio caso ha risolto un problema di allineamento.

    eibike

Leave a Reply


Il contenuto di questo Blog è rilasciato sotto Licenza Creative Commons (Leggi)