SQL UNIQUE制約
SQL UNIQUE制約
UNIQUE制約は、一意のデータベーステーブル内の各レコードを識別する。
UNIQUEとPRIMARY KEY制約は、列または一意性保証を提供して列のセットです。
PRIMARY KEY制約は、自動的に定義されたUNIQUE制約を持っています。
各テーブルには複数のUNIQUE制約を持つことができることに注意してくださいが、各テーブルには一つだけPRIMARY KEY制約を持つことができます。
時表SQL UNIQUE制約を作成
「人」の表は、「P_ID」列にUNIQUE制約を作成するために作成され、以下のSQL:
MySQLの:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (P_Id)
)
(
P_Id int 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,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
(
P_Id 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アクセス:
CREATE TABLE Persons
(
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)
)
(
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)
)
SQL UNIQUE制約は、ALTER TABLEとき
テーブルが作成されている場合、「P_ID」の列にUNIQUE制約を作成し、次のSQLを使用してください:
MySQLの/ SQL Serverの/ Oracleの/ MSアクセス:
ALTER TABLE Persons
ADD UNIQUE (P_Id)
ADD UNIQUE (P_Id)
UNIQUE制約にUNIQUE制約に名前を付け、複数の列を定義するには、次のSQL構文を使用します。
MySQLの/ SQL Serverの/ Oracleの/ MSアクセス:
ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
UNIQUE制約を元に戻します
UNIQUE制約を削除するには、次のSQLを使用します。
MySQLの:
ALTER TABLE Persons
DROP INDEX uc_PersonID
DROP INDEX uc_PersonID
SQL Serverの/ Oracleの/ MSアクセス:
ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID
DROP CONSTRAINT uc_PersonID