MySQLの主キー制約
MySQLの主キー制約
PRIMARY KEY
制約は、テーブル内の各レコードを一意に識別します。
主キーにはUNIQUE値を含める必要があり、NULL値を含めることはできません。
テーブルに含めることができる主キーは1つだけです。表では、この主キーは単一または複数の列(フィールド)で構成できます。
CREATETABLEの主キー
次のSQLはPRIMARY KEY
、「Persons」テーブルが作成されるときに「ID」列にを作成します。
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
制約の命名を許可し、複数の列に制約PRIMARY KEY
を定義する
PRIMARY KEY
には、次のSQL構文を使用します。
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);
注:
PRIMARY KEY
上記の例では、1つ(PK_Person)しかありません。ただし、主キーのVALUEは、2つの列(ID + LastName)で構成されます。
ALTERTABLEの主キー
PRIMARY KEY
テーブルがすでに作成されているときに「ID」列に制約を作成するには、次のSQLを使用します。
ALTER TABLE Persons
ADD PRIMARY KEY (ID);
制約の命名を許可し、複数の列に制約PRIMARY KEY
を定義する
PRIMARY KEY
には、次のSQL構文を使用します。
ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);
注:主キーの追加に使用する場合はALTER TABLE
、主キー列にNULL値が含まれないように宣言されている必要があります(テーブルが最初に作成されたとき)。
主キー制約を削除します
制約を削除するPRIMARY KEY
には、次のSQLを使用します。
ALTER TABLE Persons
DROP PRIMARY KEY;