2010-12-17 10 views
4

[データタイプ]ドロップダウンには、自動カウンタを示すものはありません。
私はintを選択しました。私はそれをオートカウンターに変える別の設定があると仮定しています。
私のプライマリキーに100%の一意のIDを持つことです。行が追加されるたびに、割り当てられた次のID番号が取得されます。SQL 2008 R2のテーブルにオートカレンダー列を作成するにはどうすればよいですか?

http://img64.imageshack.us/img64/2472/primarykey.png

答えて

8

あなたは、SQL Serverの用語ではIDENTITYと呼ばれる後にしています。

あなたがIDENTITYする列を設定することができます前に、列には数値データ型(INT typically, check the range of values to what suits your needs)でなければなりません - あなたはテーブルデザイナーの下で、あなたのスクリーンショットのリストを見ることができます。テーブルごとに1つのIDENTITY列しか存在できません。シーケンスのサポートを開始すると、SQL Server 2011で変更されます。

-1

主キーとしてマークし、「識別」列を「はい」に設定します。これにより、自動的にインクリメントされます。

+4

主キーを持つことは、IDENTITYプロパティとは関係ありません。 –

+0

そして、彼はすでに画像のようにプライマリキーとしてマークしています:) –

+0

アイデンティティとプライマリキーがリンクされていると私はいつも考えていました。彼らはしばしば彼らが手を携えて行くからだと思います。 –

3
CREATE TABLE dbo.mytable 
    (
    [MY_ID] int identity (1,1) PRIMARY KEY CLUSTERED NOT NULL, 
    [LAST_NAME] [nvarchar](50) NULL, 
    [FIRST_NAME] [nvarchar](30) NULL 
    ) 

もちろん、プライマリキーでない場合は、プライマリキーのクラスタ化部分は必要ありません。

(1,1)部分は、番号付けが1から始まり、1ずつ増加することを示します。アイデンティティにギャップがないとは思わないでください。インサートがロールバックされたり、後でレコードが削除されたりすると、ギャップは埋められません。選択した任意の番号から開始することもできますし、別の番号でインクリメントすることもできますが、(1,1)がデフォルトです。最も一般的な価値。

スクリプトを使用してテーブルを作成して(特にそれらを変更する)、他のコードと同様にソース管理にコミットして展開する準備ができていることをお勧めします。

関連する問題