2011-01-26 25 views
6

tengo algunas tablas que se crearon en el servidor mssql 2005. debido a mi inexperiencia en ese momento, las tablas se crearon sin una clave principal o una columna que identificara unqiquely.agregando un ID único y PK a las tablas existentes

¿cómo puedo agregar una columna con una identificación única (auto incrememnt?) A una tabla con datos existentes (alrededor de 600k filas)?

necesito que esto sea una clave principal para que pueda comenzar a utilizar los servicios de análisis SQL.

Muchas gracias,

Adam

Respuesta

7

En T-SQL:

ALTER TABLE table_name 
ADD id INTEGER IDENTITY PRIMARY KEY NOT NULL 

Pero como dice Yaakov, también es muy fácil hacer en SSMS.

+0

¡Gracias! el uso de SSMS se agota debido a la gran cantidad de filas en general y prefiero usar y aprender la sintaxis. –

+0

@Adam: punto justo sobre el tiempo de espera. – CJM

2

Simplemente añadir la columna a través de SQL Managemenent estudio, establecer a int, incremento automático (1,1), no es nulo y PK. Cuando guarde la tabla, la columna se agregará automáticamente y se rellenará con datos.

+0

podrías ayudarme con la sintaxis? usando '[ID] [int, auto-incremento] (1,1) no nulo,' y otras variaciones no funcionan. –

0

Añadir columna llamada ID y Dale Tipo UniqueIdentifier, sea lo que no anulable y poner el valor por defecto como newid()

+0

Para incrementos automáticos, puede elegir la opción Yaakov Ellis. –

5

En T-SQL ...

alter table TableName 
add ID int identity(1,1) primary key not null 
Cuestiones relacionadas