Latest web development tutorials

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)
)

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)
)

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)
)


SQL UNIQUE制約は、ALTER TABLEとき

テーブルが作成されている場合、「P_ID」の列にUNIQUE制約を作成し、次のSQLを使用してください:

MySQLの/ SQL Serverの/ Oracleの/ MSアクセス:

ALTER TABLE Persons
ADD UNIQUE (P_Id)

UNIQUE制約にUNIQUE制約に名前を付け、複数の列を定義するには、次のSQL構文を使用します。

MySQLの/ SQL Serverの/ Oracleの/ MSアクセス:

ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)


UNIQUE制約を元に戻します

UNIQUE制約を削除するには、次のSQLを使用します。

MySQLの:

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Serverの/ Oracleの/ MSアクセス:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID