次の方法で共有


方法 : 列の ID プロパティを変更する

テーブルに新しいレコードを追加したときに自動的に生成されて、その列に格納される連続番号を再定義する場合は、列の ID プロパティを変更します。ID プロパティは、テーブルごとに 1 つの列にだけ設定できます。

ID プロパティを持つ列には、システムによって生成される連続した値が含まれます。この値は、テーブル内の各行を一意に識別します (従業員の識別番号など)。ID 列を含むテーブルに値を挿入すると、Microsoft SQL Server は、最後に使用された ID 値 ([IDENTITY シード] プロパティ) および列の作成時に指定された増分値 ([IDENTITY インクリメント] プロパティ) に基づいて、次の ID を自動的に生成します。

[!メモ]

SQL Server 2012 形式のデータベースのための新しいバージョンのテーブル デザイナーが表示されます。このトピックでは、SQL Server の以前の形式のデータベースで使用する旧バージョンのテーブル デザイナーについて説明します。

新しいバージョンでは、テーブル定義をグラフィカル インターフェイスから変更することも、スクリプト ペインで直接変更することもできます。グラフィカル インターフェイスを使用すると、スクリプト ペインでのテーブルの定義が自動的に更新されます。スクリプト ペインで SQL コードを適用するには、[更新] ボタンをクリックします。新しいバージョンの詳細については、「テーブル デザイナーを使用してデータベース オブジェクトを作成する方法」を参照してください。

[!メモ]

ID プロパティを設定できるのは、NULL 値が許可されていない decimal、int、numeric、smallint、bigint、または tinyint データ型の列に対してだけです。主キー列に対しても ID プロパティは設定できません。

列の ID プロパティを変更するには

  1. サーバー エクスプローラーで、ID プロパティを変更するテーブルを右クリックし、[テーブル定義を開く] をクリックします。

    テーブルが [テーブル デザイナー] 内で開かれます。

  2. 変更する列の [Null を許容] チェック ボックスをオフにします。

  3. [列のプロパティ] タブの [IDENTITY の指定] プロパティを展開します。

  4. [Is Identity] 子プロパティのグリッド セルをクリックし、ドロップダウン リストの [はい] をクリックします。

  5. [IDENTITY シード] セルに値を入力します。この値は、テーブルの最初の行に割り当てられます。既定では値 1 が割り当てられます。

  6. [IDENTITY インクリメント] セルに値を入力します。この値は、2 行目以降の各行に対して [IDENTITY シード] に加算される増分値です。既定では値 1 が割り当てられます。

たとえば、orders テーブルに追加される各行に対して、10000 から始まり 10 ずつ増える 5 桁の注文 ID を自動的に生成する場合を考えます。この場合は、[IDENTITY シード] に 10000 を入力して、[IDENTITY インクリメント] に 10 を入力します。

テーブルの ID プロパティを変更しても、既存の ID 値は保持されます。新しい設定が適用されるのは、テーブルに新しく追加される行だけです。

[!メモ]

頻繁に削除が行われるテーブルに ID 列があると、ID 値の間に間隔が生じることがあります。間隔が生じると問題がある場合は、ID プロパティを使用しないでください。

グリッド セルの外部をクリックするか、Tab キーを使用して別のグリッド セルに移動すると、[IDENTITY の指定] プロパティの新しい値が、[テーブル デザイナー] の列に割り当てられます。[テーブル デザイナー] で変更を保存すると、値がデータベースに反映されます。

参照

関連項目

Column プロパティ

その他の技術情報

列の使用