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

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

主キー制約とは

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

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

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

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

主キー制約を設定する

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

CREATE TABLE employee(
	id      CHAR(5)      PRIMARY KEY,
	name    VARCHAR(12),
	sex     CHAR(2),
	section VARCHAR(12)
)

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

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

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

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


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

SELECT * FROM employee

 

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

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