SQLServerで主キー(PRIMARY KEY制約)を設定する
SQLServerで主キー(PRIMARY KEY制約)を設定する方法について。
SQLServerManagementStudioを利用する方法
- オブジェクトエクスプローラーで主キーを設定する対象テーブルを右クリックして、[デザイン]を選択
- 表示されたテーブルデザイナーで、主キーとして設定する列を選択(複数列を選択する場合は、Ctrlキーを押しながらクリック)
- 選択対象を右クリックして、[主キーの設定]をクリック(メニューの[テーブルデザイナー]⇒[主キーの設定]でも可)
※主キーを削除する場合は、主キーが設定されている列を選択した状態で[主キーの削除]を実施する
Transact-SQLを利用する方法
主キーを設定するクエリの書式
1 | ALTER TABLE [テーブル名] ADD PRIMARY KEY ([列名]...) |
サンプル
1 2 3 4 | USE [DB1] GO ALTER TABLE [table1] ADD PRIMARY KEY ([col1], [col2]) GO |
主キーを削除するクエリの書式
1 | ALTER TABLE [テーブル名] DROP CONSTRAINT [キー名] |
サンプル
1 2 3 4 | USE [DB1] GO ALTER TABLE [table1] DROP CONSTRAINT [PK_table1] GO |
主キー(PRIMARY KEY制約)の設定に関わる注意点
- テーブルに含めることができるPRIMARY KEY制約は1つだけ
- PRIMARY KEY制約中で定義する列はすべて、NOT NULLとして定義する必要がある
- NULL値を許容するかどうかを指定しない場合、PRIMARY KEY制約の影響を受けるすべての列は、NOT NULLに設定される
- 主キーが設定された新しいテーブルを作成するには、データベースのCREATE TABLE権限と、テーブルを作成するスキーマのALTER権限が必要
- 既存のテーブルに主キーを作成するには、テーブルに対するALTER権限が必要