SQL UNIQUE制約
SQL UNIQUE制約
UNIQUE
制約により、列内のすべての値が異なることが保証されます。
UNIQUE
制約とPRIMARY KEY
制約はどちらも、列または列セットの一意性を保証します。PRIMARY KEY
制約には、自動的にUNIQUE
制約が設定されます。
ただし、テーブルごとに多くのUNIQUE
制約を設定できますが、テーブルごとにPRIMARY KEY
制約は1つだけです。
CREATE TABLEのSQL UNIQUE制約
次のSQLは、「Persons」テーブルの作成時に「ID」列にUNIQUE
制約を作成します。
SQL Server/Oracle/MS Access
CREATE TABLE Persons(
ID int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
MySQL:
CREATE TABLE Persons(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
UNIQUE (ID)
);
UNIQUE
制約に名前を付け、複数の列にUNIQUE
制約を定義するには、次のSQL構文を使用します。
MySQL / SQL Server / Oracle / MS Access
CREATE TABLE Persons(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT UC_Person UNIQUE (ID,LastName)
);
ALTER TABLEのSQL UNIQUE制約
テーブルがすでに作成されている場合に「ID」列にUNIQUE
制約を作成するには、次のSQLを使用します。
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD UNIQUE (ID);
UNIQUE
制約に名前を付け、複数の列にUNIQUE
制約を定義するには、次のSQL構文を使用します。
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
UNIQUE制約を削除する
UNIQUE
制約を削除するには、次のSQLを使用します。
MySQL:
ALTER TABLE Persons
DROP INDEX UC_Person;
SQL Server/Oracle/MS Access:
ALTER TABLE Persons
DROP CONSTRAINT UC_Person;
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。