2010-11-03 167 views
30

¿Cómo agrego una columna después de otra columna dentro de MS SQL usando la consulta SQL?Agregar una columna después de otra columna dentro de SQL

TempTable int Id, tipo nvarchar (20), poco activo

Tablanueva int Id, tipo nvarchar (20), Descripción de texto, poco activo

Eso es lo que Quiero, ¿cómo hago eso

+1

El orden de las columnas es irrelevante para SQL. Puede definir el orden de las columnas en las instrucciones SELECT, INSERT o UPDATE. –

+0

Sí, lo sé, pero me gustan las cosas estructuradas de cierta manera – mattgcon

+1

ya que la columna ** pedido ** realmente no es relevante, no existe tal característica en SQL Server/T-SQL. Necesita usar el diseñador de tablas interactivo (que volverá a crear toda la tabla en el proceso), o simplemente tiene que dejarlo. –

Respuesta

60

Suponiendo MySQL (EDIT: publicado antes de que se suministra la variante SQL):

ALTER TABLE myTable ADD myNewColumn VARCHAR(255) AFTER myOtherColumn 

El DESPUÉS palabra clave indica a MySQL dónde colocar la nueva columna. También puede usar FIRST para marcar la nueva columna como la primera columna en la tabla.

+2

esto es MS SQL no MySQL lamentablemente – mattgcon

+3

En ese caso, creo que tiene que volver a crear toda la tabla. ¿Por qué importa el orden de las columnas? – Hamish

+2

Soy realmente exigente, y prefiero que las tablas tengan un cierto orden. De acuerdo, tendré que recrearlo – mattgcon

4

Depende de qué base de datos está utilizando. En mysql, usaría la sintaxis "ALTER TABLE". No recuerdo exactamente cómo, pero sería algo como esto si quisiera agregar una columna llamada 'newcol' que era un varchar de 200 caracteres:

ALTER TABLE ejemplo ADD ADD newCol VARCHAR (200) DESPUÉS otherCol;

Cuestiones relacionadas