SQL Serverのテーブル列に自動採番する「IDENTITY」を解説します。
番号をふる IDENTITY
IDENTITYの構文
SQL Serverはテーブル列に自動で番号を連番で採番するようにできます。Accessのオートナンバー型に相当するものです。データを登録するたびに、番号が「1,2,3・・・」のように順番にふられていきます。
SQL ServerにもAccessのオートナンバー型に相当するものがあります。それが「IDENTITY」です。
アプリケーション側で番号を採番しなくてもいいのと、登録順がわかるようになるので使い道はあるかと思います。
IDENTITY(開始番号, 増加数)
開始番号からスタートし、増加数で指定した数だけ順番に増えていきます。
IDENTITYの設定方法
SQL Serverのテーブルの列を自動採番するように「IDENTITY」を設定する方法を解説します。
例1. テーブル作成時にIDENTITYを設定するパターン
--テーブルを作成時にIDENTITYを設定する CREATE TABLE dbo.emp (empno varchar(20) not null ,empname varchar(50) ,insno int IDENTITY(1,1) );
この例ではテーブル作成時にIDENTITYを設定しました。「insno」列に、1からはじまり1ずつ増えていくようにしました。
例2. 列を追加時にIDENTITYを設定するパターン
--テーブルに列を追加し、IDENTITYを設定する ALTER TABLE dbo.emp add insno int IDENTITY(100,1);
この例ではテーブル作成後にIDENTITYを設定しました。「insno」列に、100からはじまり1ずつ増えていくようにしました。
例3. SQL Server Management Studio (SSMS)でIDENTIFYを設定するパターン
まずはSQL Server Management Studio (SSMS)を起動します。オブジェクトエクスプローラー(左メニュー)の該当のテーブルを右クリックして、「デザイン」をおします。
上側で該当列を選択します。そして下側で「IDENTITYの指定」の「IDである」の「いいえ」を「はい」に変更します。
「IDの増分」「IDENTITYシード」は1からスタートして1ずつ増加していくようにそれぞれ1にします。任意の値に変えてください。
参照:CREATE TABLE (Transact-SQL) IDENTITY
以上、SQL Serverのテーブル列に自動採番する「IDENTITY」でした。
コメント