2010-11-03 11 views
30

Come si aggiunge una colonna dopo un'altra colonna in MS SQL utilizzando la query SQL?Aggiunta di una colonna dopo un'altra colonna in SQL

TempTable ID int, tipo nvarchar (20), po attivo

nuovatabella ID int, tipo nvarchar (20), testo Descrizione, po attivo

Questo è quello che voglio, come posso fare che

+1

L'ordine delle colonne è irrilevante per SQL. È possibile definire l'ordine delle colonne nelle istruzioni SELECT, INSERT o UPDATE. –

+0

Sì, lo so, ma mi piacciono le cose strutturate in un certo modo – mattgcon

+1

poiché la colonna ** order ** non è rilevante, non esiste una funzionalità di questo tipo in SQL Server/T-SQL. È necessario utilizzare il designer di tabelle interattive (che ricrea l'intera tabella nel processo), o devi semplicemente lasciarlo essere. –

risposta

60

Supponendo MySQL (EDIT: inviato prima che la variante di SQL è stata fornita):

ALTER TABLE myTable ADD myNewColumn VARCHAR(255) AFTER myOtherColumn 

Il dopo la parola chiave dice a MySQL dove posizionare la nuova colonna. Puoi anche utilizzare FIRST per contrassegnare la nuova colonna come prima colonna della tabella.

+2

questo è MS SQL non MySQL purtroppo – mattgcon

+3

In tal caso, credo che sia necessario ricreare l'intera tabella. Perché l'ordine delle colonne è importante? – Hamish

+2

Sono davvero molto esigente, e preferisco le tabelle per avere un certo ordine. Ok, dovrò semplicemente ricrearlo – mattgcon

4

Dipende dal database in uso. In mysql, si usa la sintassi "ALTER TABLE". Non ricordo esattamente come, ma andrebbe qualcosa del genere se si volesse aggiungere una colonna chiamata 'newcol' che era un varchar di 200 caratteri:

ALTER TABLE esempio ADD newCol VARCHAR (200) AFTER otherCol;

Problemi correlati