【SQLServer】テーブル作成時、テーブルの列にプライマリーキー制約を付与する方法
今回はテーブル作成時にテーブルの列にプライマリーキー制約を付与する方法を載せます。
1.1つの列にプライマリーキー制約を付与する場合
2.複数の列にプライマリーキーを付与する場合
1.1つの列にプライマリーキー制約を付与する場合
1つの列に対してプライマリーキー制約を付与する場合はテーブル作成時にその列で以下の内容を書きます。
・構文
CREATE TABLE TABLE ( <列名><データ型> PRIMARY KEY ←プライマリーキーにしたい列 ,<列名> ・ ・ ・ )
・使用例
--1つの列にプライマリーキーを付与するSQL CREATE TABLE TABLE_1 ( ID NVARCHAR(4) PRIMARY KEY, NAME NVARCHAR(50), UPDT_YMDT DATE );
使用例は「TABLE_1」という名前のテーブルを作成するときにの例です。
テーブル構成はID、名前、更新日列の3列で構成しています。
今回はID列にプライマリーキー制約を付与するので、ID列にPRIMARY KEYを書いています。
このようにプライマリーキー制約を1つの列に付与したいという場合にはその列の横にPRIMARY KEYと書きます。
ただし、この書き方では1つの列に対してでしかプライマリーキー制約を付与することができないため、複数列に制約を付与したいという場合には
向かない書き方です。
(2つの列に同じような書き方をした場合は構文エラーとなり、テーブルは作成できません。)
2.列(複数)にプライマリーキーを付与する場合
前項のように複数の列に対してプライマリー制約をしたいという場合には以下のようにSQLを書きます。
・構文
CREATE TABLE TABLE ( <列名1><データ型> ←プライマリーキーにしたい列 ,<列名2><データ型>←プライマリーキーにしたい列 ・ ・ ・ ,PRIMARY KEY(<列名1>,<列名2>) )
・使用例
使用例は「TABLE_3」という名前のテーブルを作成するときにの例です。
テーブル構成はID、ID2、名前、更新日列の4列で構成しています。
ID_1とID_2列に今回はプライマリー制約をつけたいため、以下のように書きます。
--複数の列にプライマリーキーを付与するSQL CREATE TABLE TABLE_3 ( ID_1 NVARCHAR(4), ID_2 NVARCHAR(4), NAME NVARCHAR(50), UPDT_YMDT DATE, PRIMARY KEY(ID_1,ID_2) );
複数の列を指定する場合は列の最後にPRIMARY KEY()と書き、括弧の中にプライマリー制約を付けたい列名を書きます。
実行環境
OS:Windows10
SQL Server Management Studio v17.4