DDL

[SQLServer]自動採番列(IDENTITY列)を持ったテーブルを作成する

SQLServerで、自動採番列(IDENTITY列)を持ったテーブルを作成するサンプルです。

構文

(IDENTITY構文)
IDENTITY(<開始番号>, <増分>)

例えば1番から始まり1づつ増えるようにしたい場合はIDENTITY(1,1)とします。

サンプル

例)NO列をIDENTITY型としたM_SYOHINテーブルを作成する


自動採番列は1テーブルに1つのみ作成可能です。
1テーブルに複数のIDENTITY列を定義しようとすると以下のエラーが発生します。

(例)
メッセージ 2744、レベル 16、状態 2、行 1 テーブル 'XXX' に複数の ID 列が指定されています。テーブルごとに 1 つだけしか ID 列を指定できません。

IDENTITY列にINSERTするとエラーになります。

(例)
insert into M_SYOHIN(no, name, price) values(1,'りんご', 150) メッセージ 544、レベル 16、状態 1、行 1 IDENTITY_INSERT が OFF に設定されているときは、テーブル 'M_SYOHIN' の ID 列に明示的な値を挿入できません。

備考


-DDL
-