Post Meta
-
Indietro
-
dicembre 6, 2007 -
Appunti, Programming -
10 Comments
-
Letto 2.536 volte
-
Comments Feed -
Stampa questo Post
6th
DIC
Spostare campi Mysql
Posted by raphe | Filed under Appunti, Programming
Questo articolo è stato pubblicato 2 anni 8 mesi 28 giorni giorni fa quindi alcuni contenuti o informazioni presenti in esso potrebbero non essere più validi. Questo sito non è responsabile per eventuali errori causati da questo problema.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:
Tags: Appunti > mysql > spostare-campi > tipsALTER TABLE test MODIFY tre varchar(50) AFTER uno


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
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
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
ah ecco!
alla faccia di chi dice che è un’operazione inutile
fa sempre piacere poter essere d’aiuto a qualcuno
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
lo script non mi funzionava perche’ mancava column!!!
ALTER TABLE test MODIFY COLUMN tre varchar(50) AFTER uno;
Ciao
a me, e a quanto pare anche ad altri, funziona anche senza column.
GRAZIE!! risolto al volo problema import
Attenzione! Ho fatto una prova ma oltre a spostare il campo mi ha ripristinato con valori diversi il Collation, l’opzione Null e il valore predefinito.
Molto utile il comando ma bisogna stare attenti.
A me serviva GRAZIE
Altri commenti mi sembrano inutili!
Grazie