SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する
このページのタグ:[SQL Server] [SQL Server LocalDB]
SQL Server LocalDB でテーブルの列を自動インクリメント列に設定する手順を紹介します。

手順

SQL Server LocalDB でテーブルを作成します。下図のテーブルエディタが表示されますので、列名や型を設定します。


テーブル名を変更する場合は、デザイナの下部にあるT-SQLコマンドの "CREATE TABLE"節のテーブル名を作成したいテーブル名に変更します。

変更前


CREATE TABLE [dbo].[Table]
(
    [Id] NOT NULL PRIMARY KEY, 
    [name] NCHAR(64) NULL, 
    [height] DECIMAL(18, 2) NULL, 
    [weight] DECIMAL(18, 2) NULL
)

変更後


CREATE TABLE [dbo].[BodySize]
(
    [Id] NOT NULL PRIMARY KEY, 
    [name] NCHAR(64) NULL, 
    [height] DECIMAL(18, 2) NULL, 
    [weight] DECIMAL(18, 2) NULL
)

自動で採番しインクリメントする列に設定する場合は、列に "IDENTITY" を記述します。
IDENTITYの書式は以下となります。
IDENTITY
または
IDENTITY (seed , increment)
seedは自動裁判の開始番号、increment は加算値です。
IDENTITY (1,1)
とすると、1から採番され1づつ増加します。IDENTITY のみを記述した場合は、IDENTITY (1,1)の動作になります。



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

または、別の方法として、テーブルデザイナで列を選択し、画面右下のプロパティウィンドウの"IDENTITY"の項目を変更します。


プロパティウィンドウの[IDENTITY の指定"の項目を開き[(IDである)]を"True"に設定します。必要に応じて[IDENTITY シード]と[IDENTITY 増分値]の値を変更します。



更新ボタンをクリックしてSQLを実行し、テーブルを作成します。


SQLが実行され、テーブルが作成されます。


レコードデータの入力

レコードのデータ入力をして実際にインクリメントされるか確認します。
サーバーエクスプローラで作成したテーブルを選択し、右クリックしてポップアップメニューを表示します。メニューの[テーブルデータの表示]を選択します。


テーブルのデータが表示されます。作成直後のテーブルのため、まだレコードが一件もありません。


name, height, weight の値を入力し、確定すると自動でIdが採番されます。


続けて入力すると、Idが自動で増加し採番されます。



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

登録日 :2016-07-20    最終更新日 :2016-07-20
このページのタグ:[SQL Server] [SQL Server LocalDB]
Japanese
プライバシー    iPentecについて
iPentec all rights reserverd. (ISDC)