一意性制約

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。Wdpp (会話 | 投稿記録) による 2017年7月15日 (土) 05:32個人設定で未設定ならUTC)時点の版 (内部リンクの修正)であり、現在の版とは大きく異なる場合があります。

一意性制約 (いちいせいせいやく、Unique Constraint)とは、データベースにおいてデータを追加、更新する際の制約の一つで、列あるいは列のグループに含まれるデータが、テーブル内のすべての行で一意(「他に同じデータがない」の意味)であることを要求する。なお、この一意性制約にNOT NULL制約を加えたものが主キー制約であると考えることもできる。

構文

テーブル作成の際に、以下のようにSQLステートメントを記述する。

1. 列制約として定義する方法:

CREATE TABLE テーブル名 (
    列名1 列1データ型 CONSTRAINT 制約名 UNIQUE,
    列名2 列2データ型
    [・・・,列名n 列nデータ型]
);

2. テーブル制約として定義する方法:

CREATE TABLE テーブル名 (
    列名1 列1データ型,
    列名2 列2データ型,
    [・・・列名n 列nデータ型,]
    CONSTRAINT 制約名 UNIQUE (列名1)
);

3. 列のグループに対して一意性制約を定義する方法:

CREATE TABLE テーブル名 (
    列名1 列1データ型,
    列名2 列2データ型,
    [・・・列名n 列nデータ型,]
    CONSTRAINT 制約名 UNIQUE (列名1,列名2,・・)
);

「CONSTRAINT 制約名」の指定は任意である。

ALTER TABLEステートメントを使うこともできる。

関連項目