SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する

SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する手順を紹介します。

手順

SQL Server LocalDB でテーブルを作成します。下図のテーブルエディタが表示されます。
SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像1

列名や型を設定します。
SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像2
SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像3

自動で採番しインクリメントする列に設定する場合は、列に "IDENTITY" を記述します。
IDENTITYの書式は以下となります。

IDENTITY 

または

IDENTITY (seed , increment)

seedは自動裁判の開始番号、increment は加算値です。 以下の記述では、1から採番され1づつ増加します。IDENTITY のみを記述した場合は、IDENTITY (1,1)の動作になります。

IDENTITY (1,1)


テーブルデザイナの下部に表示されている、SQL文を編集します。[Id]列に IDENTITY(1,1) の追記と、テーブル名を作成したいテーブル名に変更しています。

変更前SQL
CREATE TABLE [dbo].[MyTable]
(
    [Id] INT NOT NULL PRIMARY KEY, 
    [name] NCHAR(64) NULL, 
    [height] DECIMAL(18, 2) NULL, 
    [weight] DECIMAL(18, 2) NULL
)

SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像4

変更後SQL
CREATE TABLE [dbo].[MyTable]
(
    [Id] INT IDENTITY(1,1) NOT NULL PRIMARY KEY, 
    [name] NCHAR(64) NULL, 
    [height] DECIMAL(18, 2) NULL, 
    [weight] DECIMAL(18, 2) NULL
)

SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像5

別の手順として、テーブルデザイナで列を選択し、画面右下のプロパティウィンドウの"IDENTITY"の項目を変更する方法もあります。
テーブル作成画面を表示します。
SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像6

テーブルデザイナのID列を選択します。
SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像7

プロパティウィンドウの[IDENTITYの指定]の項目の[(IDである)]の値をFalseからTrueに変更します。

SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像8 SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像9
SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像10

プロパティの値を変更すると、SQLにもIDENTITYのキーワードが追加されます。
ウィンドウ上部の[更新]ボタンをクリックし、テーブルを作成します。

SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像11

テーブルが作成されました。サーバーエクスプローラーの[データ接続]ノード内のデータベースのノードの[テーブル]ノードに作成したテーブルの項目が追加されています。
SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像12

動作確認: レコードの入力

テーブルにレコードの値を入力します。
サーバーエクスプローラーのテーブルの項目を選択し、右クリックしポップアップメニューの[テーブル データの表示]の項目をクリックします。
SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像13

テーブルのデータが表示されます。作成直後のため空状態です。
SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像14

name, height, weight の値を入力します。
SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像15

入力を確定します。Idが自動採番されて設定される動作が確認できます。
SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像16

2件目のレコードも入力します。
SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像17

Idを入力せずに入力内容を確定すると、Idが自動採番されます。
SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する:画像18

SQL Server LocalDBで自動インクリメントする列を持つテーブルを作成できました。

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2016-07-20
改訂日: 2022-11-22
Copyright © 1995–2025 iPentec all rights reserverd.