MySQLUNIQUE制約_
MySQLUNIQUE制約
制約により、列のUNIQUE
すべての値が異なることが保証されます。
UNIQUE
と
制約の両方がPRIMARY KEY
、列または列のセットの一意性を保証します。
PRIMARY KEY
制約には自動的に
制約がありUNIQUE
ます。
ただし、テーブルごとに多くの制約を設定できますがUNIQUE
、テーブルごとに1つの制約のみ
を設定できPRIMARY KEY
ます。
CREATETABLEのUNIQUE制約
次のSQLはUNIQUE
、「Persons」テーブルが作成されるときに「ID」列に制約を作成します。
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
UNIQUE (ID)
);
制約に名前を付け、複数の列に制約UNIQUE
を定義する
UNIQUE
には、次のSQL構文を使用します。
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT UC_Person UNIQUE (ID,LastName)
);
ALTERTABLEのUNIQUE制約
UNIQUE
テーブルがすでに作成されているときに「ID」列に制約を作成するには、次のSQLを使用します。
ALTER TABLE Persons
ADD UNIQUE (ID);
制約に名前を付け、複数の列に制約UNIQUE
を定義する
UNIQUE
には、次のSQL構文を使用します。
ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
一意の制約を削除する
制約を削除するUNIQUE
には、次のSQLを使用します。
ALTER TABLE Persons
DROP INDEX UC_Person;