【SQL Server】テーブル作成時に主キー制約を設定する

テーブル作成時に主キー制約を設定する方法は複数ありますが、
この記事では一番シンプルだと思う方法を記載します!

PR

主キー制約とは

制約の1つです。
データベースにおける「制約」とは「入力チェック」のことです。

主キー制約を設定することで、重複レコードの登録を防止できます。

登録しようしているレコードが重複しているかどうかをチェックし、
重複している場合はチェックエラーとし登録を防ぎます。

主キー制約を設定した列には「NULL」を設定できません。
※主キー制約はNOT NULL制約を包括しています。

PR

主キー制約を設定する

CREATE TABLEの中で、主キーとしたい列の右側に「PRIMARY KEY」と記載します。

CREATE TABLE employee(
	id      CHAR(5)      PRIMARY KEY,
	name    VARCHAR(12),
	sex     CHAR(2),
	section VARCHAR(12)
)
CREATE文の実行
CREATE文の実行
PR

主キー制約が設定されたことを確認する

同じレコードの登録を試みると、
・1行目のINSERT文は正常終了
・2行目のINSERT文は異常終了
します。

--実行するSQL
INSERT employee (id, name, sex, section) VALUES ('00001', '鈴木一郎', '男', '営業課')
INSERT employee (id, name, sex, section) VALUES ('00001', '鈴木一郎', '男', '営業課')
INSERT文の実行
INSERT文の実行
エラーメッセージ

制約 ‘PK__EMPLOYEE__3214EC275F3DFB12’ の PRIMARY KEY 違反。オブジェクト ‘dbo.EMPLOYEE’ には重複するキーを挿入できません。重複するキーの値は (00001 ) です。


テーブルを確認してみると、1レコード分のみ登録されていることが分かります。

SELECT * FROM employee
SELECT文の実行
SELECT文の実行

 

設定したい列の右側に「PRIMARY KEY」と記載する方法が、
一番シンプルで良いと思います!

タイトルとURLをコピーしました