SQL UNIQUE-restriktion

SQL UNIQUE-restriktion

UNIKT restriktion unik identifierar varje enskilt post i databastabellen.

UNIKT och PRIMÄR NYCKEL restriktioner erbjuder en unik garanti för kolonner eller kollektioner av kolonner.

PRIMÄR NYCKEL har en automatiskt definierad UNIKT restriktion.

Observera att varje tabell kan ha flera UNIKT restriktioner, men varje tabell kan bara ha en PRIMÄR NYCKEL restriktion.

UNIKT restriktion på CREATE TABLE

Följande SQL skapar en UNIKT restriktion i kolonnen "Id_P" när tabellen "Persons" skapas:

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

Om du vill namnge en UNIQUE-restriktion och definiera en UNIQUE-restriktion för flera kolonner, använd följande SQL-syntaks:

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

SQL UNIQUE-restriktion på ALTER TABLE

När tabellen redan har skapats, om du vill skapa en UNIQUE-restriktion i kolonnen "Id_P", använd följande SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (Id_P)

Om du vill namnge en UNIQUE-restriktion och definiera en UNIQUE-restriktion för flera kolonner, använd följande SQL-syntaks:

MySQL / SQL Server / Oracle / MS Access:

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

Häva UNIQUE-restriktion

Om du vill häva en UNIQUE-restriktion, använd följande SQL:

MySQL:

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID