SQL UNIQUE 制約
- 前のページ SQL NOT NULL
- 次のページ SQL プライマリキー
SQL UNIQUE 制約
UNIQUE制約は、データベーステーブルの各レコードをユニークに識別します。
UNIQUEおよびPRIMARY KEY制約は、列または列の集合にユニーク性の保証を提供します。
PRIMARY KEYは自動的にUNIQUE制約が定義されます。
各テーブルには複数のUNIQUE制約が可能ですが、各テーブルにはPRIMARY KEY制約が1つしかありません。
CREATE TABLEでのSQL UNIQUE制約
以下のSQLは、"Persons"テーブルが作成されたときに"Id_P"カラムにUNIQUE制約を作成する:
MySQL:
CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), UNIQUE (Id_P) )
SQL Server / Oracle / MS Access:
CREATE TABLE Persons ( Id_P int NOT NULL UNIQUE, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )
UNIQUE 约束に名前を付け、複数の列に対する UNIQUE 约束を定義する場合は、以下の SQL 语法を使用してください:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName) )
ALTER TABLE 上の SQL UNIQUE 约束
テーブルが作成されている場合、"Id_P" 列に UNIQUE 约束を追加するには、以下の SQL を使用してください:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons ADD UNIQUE (Id_P)
UNIQUE 约束に名前を付ける場合、複数の列に対する UNIQUE 约束を定義する場合は、以下の SQL 语法を使用してください:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
UNIQUE 约束を取り消す
UNIQUE 约束を取り消すには、以下の SQL を使用してください:
MySQL:
ALTER TABLE Persons DROP INDEX uc_PersonID
SQL Server / Oracle / MS Access:
ALTER TABLE Persons DROP CONSTRAINT uc_PersonID
- 前のページ SQL NOT NULL
- 次のページ SQL プライマリキー