dbonlineロゴ

PRIMARY KEY制約

広告

カラムにPRIMARY KEY制約を設定した場合、そのカラムが主キーであることを示します。書式は次の通りです。

CREATE TABLE テーブル名(カラム名 PRIMARY KEY, ...);

CREATE TABLE文を実行する時に主キーを設定したいカラムにPRIMARY KEYを指定します。また下記の書式も使用できます。

CREATE TABLE テーブル名(カラム名1, カラム名2, ... ,
  PRIMARY KEY(カラム名1, カラム名2, ...));

カラムに対して直接PRIMARY KEYを指定する代わりにに PRIMARY KEY(カラム名) の形式で対象のカラムを指定します。この書式の場合は複数のカラムを組み合わせた主キーを設定できます。

具体的には次のように記述します。

create table product(id integer primary key, name text);
create table employee(name text, section text, primary key(name, section));

サンプル

では実際に試してみます。

p6-1

「product」テーブルを作成し、「name」カラムにPRIMARY KEY制約を設定しました。

いくつかデータを追加してみます。

p6-2

PRIMARY KEY制約が設定されたカラムには重複した値を格納することはできません。データを追加した時に同じ値が既に格納されていると「SQL error: PRIMARY KEY must be unique」とエラーが表示されます。

PRIMARY KEY制約が設定されたカラムにはnullを格納することができます。

p6-3

またRIMARY KEY制約が設定されたカラムにnullが既に格納されていた場合でも、別のデータでもnullを格納する事ができます。

p6-4

( Written by Tatsuo Ikura )