SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する手順を紹介します。
手順
SQL Server LocalDB でテーブルを作成します。下図のテーブルエディタが表示されます。
列名や型を設定します。
自動で採番しインクリメントする列に設定する場合は、列に "IDENTITY" を記述します。
IDENTITYの書式は以下となります。
または
IDENTITY (seed , increment)
seedは自動裁判の開始番号、increment は加算値です。
以下の記述では、1から採番され1づつ増加します。IDENTITY のみを記述した場合は、IDENTITY (1,1)の動作になります。
テーブルデザイナの下部に表示されている、SQL文を編集します。[Id]列に
IDENTITY(1,1)
の追記と、テーブル名を作成したいテーブル名に変更しています。
CREATE TABLE [dbo].[MyTable]
(
[Id] INT NOT NULL PRIMARY KEY,
[name] NCHAR(64) NULL,
[height] DECIMAL(18, 2) NULL,
[weight] DECIMAL(18, 2) NULL
)
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
)
別の手順として、テーブルデザイナで列を選択し、画面右下のプロパティウィンドウの"IDENTITY"の項目を変更する方法もあります。
テーブル作成画面を表示します。
テーブルデザイナのID列を選択します。
プロパティウィンドウの[IDENTITYの指定]の項目の[(IDである)]の値をFalseからTrueに変更します。
プロパティの値を変更すると、SQLにもIDENTITYのキーワードが追加されます。
ウィンドウ上部の[更新]ボタンをクリックし、テーブルを作成します。
テーブルが作成されました。サーバーエクスプローラーの[データ接続]ノード内のデータベースのノードの[テーブル]ノードに作成したテーブルの項目が追加されています。
動作確認: レコードの入力
テーブルにレコードの値を入力します。
サーバーエクスプローラーのテーブルの項目を選択し、右クリックしポップアップメニューの[テーブル データの表示]の項目をクリックします。
テーブルのデータが表示されます。作成直後のため空状態です。
name, height, weight の値を入力します。
入力を確定します。Idが自動採番されて設定される動作が確認できます。
2件目のレコードも入力します。
Idを入力せずに入力内容を確定すると、Idが自動採番されます。
SQL Server LocalDBで自動インクリメントする列を持つテーブルを作成できました。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2022-11-22
改訂日: 2022-11-22
作成日: 2016-07-20