2011-01-26 15 views
6

Ho alcune tabelle che sono state create nel server mssql 2005. a causa della mia inesperienza al momento, le tabelle sono state create senza una chiave primaria o una colonna identificativa errata.aggiungendo un ID univoco e un PK alle tabelle esistenti

Come posso aggiungere una colonna con un ID univoco (auto incrememnt?) A una tabella con dati esistenti (circa 600.000 righe)?

ho bisogno che questo sia una chiave primaria in modo che possa iniziare a utilizzare i servizi di analisi SQL.

Molte grazie,

Adam

risposta

7

in T-SQL:

ALTER TABLE table_name 
ADD id INTEGER IDENTITY PRIMARY KEY NOT NULL 

Ma, come dice Yaakov, è anche molto facile da fare in SSMS.

+0

Grazie !! l'uso di SSMS è scaduto a causa dell'elevato numero di righe in generale e preferisco utilizzare e imparare la sintassi. –

+0

@Adam - Punto giusto sul timeout. – CJM

2

Basta aggiungere la colonna tramite SQL Managemenent in studio, insieme a int, incremento automatico (1,1), non è nullo e PK. Quando salvi la tabella, la colonna verrà automaticamente aggiunta e prepopolata con i dati.

+0

mi può dare una mano con la sintassi? usando '[ID] [int, auto-increment] (1,1) non nullo,' e altre varianti non funzionano. –

0

Aggiungi colonna denominata ID e dare Tipo UniqueIdentifier, Fai come non annullabile e mettere il valore predefinito come newid()

+0

Per l'incremento automatico puoi utilizzare l'opzione Yaakov Ellis. –

5

in T-SQL ...

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