SQL 固有
SQL UNIQUE 制約
UNIQUE 制約は、データベース テーブル内の各レコードを一意に識別します。
UNIQUE 制約と PRIMARY KEY 制約はどちらも、列または列のセットの一意性を保証します。
PRIMARY KEY 制約には、UNIQUE 制約が自動的に定義されています。
各テーブルには複数の UNIQUE 制約を持つことができますが、テーブルごとに PRIMARY KEY 制約は 1 つだけ存在できることに注意してください。
CREATE TABLE 時の SQL UNIQUE 制約
次の SQL は、「Persons」テーブルの作成時に「P_Id」列に UNIQUE 制約を作成します。 NOT NULL,
LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255),
UNIQUE (P_Id))
SQL Server / Oracle / MSアクセス :
CREATE TABLE persons
(P_Id int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,SQL Server / Oracle / MSアクセス :
CREATE TABLE persons
(
FirstName varchar(255),Address varchar(255),City varchar(255)
)UNIQUE 制約に名前を付け、複数の列に UNIQUE 制約を定義するには、次の SQL 構文を使用してください:
MySQL / SQL Server / Oracle / MS Access:
P_Id int NOT NULL ,
LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255),
CONSTRAINT uc_personID UNIQUE (P_Id,LastName))
ALTER TABLE time SQL UNIQUE 制約
テーブルが作成されたら、「P_Id」列に UNIQUE 制約を作成するには、次の SQL を使用してください:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE time SQL UNIQUE 制約
テーブルが作成されたら、「P_Id」列に UNIQUE 制約を作成するには、次の SQL を使用してください:
ALTER TABLE persons
ADD UNIQUE (P_Id)UNIQUE 制約に名前を付け、複数の列に UNIQUE 制約を定義するには、次の SQL 構文を使用してください:
MySQL / SQL Server / Oracle / MS Access:UNIQUE制約を取り消す
UNIQUE制約を取り消すには、次のSQLを使用してください:
MySQL:
ALTER TABLE persons
DR OP INDEX uc_personIDSQL Server/Oracle/MS Access:
ALTER TABLE persons
DROP CONSTRAINT uc_personID
DROP CONSTRAINT uc_personID