2011-01-26 12 views
6

私はmssql 2005サーバで作成されたいくつかのテーブルを持っています。当時の私の経験不足のため、主キーを持たずにテーブルを作成したり、列を一意に識別したりすることなくテーブルを作成しました。既存のテーブルにユニークなIDとPKを追加

既存データ(約600k行)を持つテーブルに一意のID(自動増分?)の列を追加するにはどうすればよいですか?

SQL Analysisサービスの使用を開始できるように、これをプライマリキーにする必要があります。

多くのおかげで、

アダム

答えて

7

としてデフォルト値を入れて:Yaakovのは、それはまたには非常に簡単です、と言うよう

ALTER TABLE table_name 
ADD id INTEGER IDENTITY PRIMARY KEY NOT NULL 

しかし、 SSMSでやるT-SQLで

+0

ありがとうございます!一般的に行数が多いためにSSMSタイムアウトを使用して、私は構文を使用して学ぶことを好む。 –

+0

@Adam - タイムアウトについての公正なポイント。 – CJM

2

ちょうどヌルとPKではない、intに設定SQLのManagemenentスタジオ、自動増加(1,1)を介して列を追加します。テーブルを保存すると、列が自動的に追加され、データが事前入力されます。

+0

あなたは構文で私を助けることができますか? 「[ID] [int、auto-increment](1,1)not null」を使用し、他のバリエーションは動作しません。 –

0

IDという名前の列を追加し、タイプUniqueIdentifierを与える、それはのようにNULL可能ではない作りとT-SQLでnewid()

+0

自動インクリメントの場合は、Yaakov Ellisオプションを使用できます。 –

5

...

alter table TableName 
add ID int identity(1,1) primary key not null 
関連する問題