Altro
Aggiungere più colonne DOPO una colonna specifica in MySQL
Ho bisogno di aggiungere più colonne a una tabella ma posizionare le colonne dopo una colonna chiamata lastname
.
Ho provato questo:
ALTER TABLE `users` ADD COLUMN
(
`count` smallint(6) NOT NULL,
`log` varchar(12) NOT NULL,
`status` int(10) unsigned NOT NULL
)
AFTER `lastname`;
Ottengo questo errore:
Hai un errore nella tua sintassi SQL; controlla il manuale che
corrisponde alla tua versione di server MySQL per la giusta sintassi da usare vicino a ') AFTER
lastname
' alla linea 7
br> Come posso usare AFTER in una query come questa?
330
3
Prova questo
controlla la sintassi
Se vuoi aggiungere una singola colonna dopo un campo specifico, allora la seguente query MySQL dovrebbe funzionare:
Se vuoi aggiungere più colonne, allora devi usare 'ADD' comando ogni volta per una colonna. Ecco la query MySQL per questo:
Punto da notare
Nel secondo metodo, l'ultima
ADD COLUMN
colonna dovrebbe essere effettivamente la prima colonna che si vuole aggiungere alla tabella.Es: se vuoi aggiungere
count
,log
,status
nell'ordine esatto dopolastname
, allora la sintassi sarebbe effettivamente:Una possibilità sarebbe quella di non preoccuparsi di riordinare le colonne nella tabella e semplicemente modificarla aggiungendo le colonne. Poi, creare una vista che abbia le colonne nell'ordine che si desidera - assumendo che l'ordine sia veramente importante. La vista può essere facilmente modificata per riflettere qualsiasi ordine che si desidera. Poiché non posso immaginare che l'ordine sia importante per applicazioni programmatiche, la vista dovrebbe essere sufficiente per quelle query manuali in cui potrebbe essere importante.