SQL UNIQUE restriktion

SQL UNIQUE restriktion

UNIQUE-begrænsningen identificerer unikt hver record i databasestabelen.

UNIQUE og PRIMARY KEY-begrænsninger giver en unikhedsgaranti for kolonner eller kolonnesæt.

PRIMARY KEY har en automatisk defineret UNIQUE-begrænsning.

Bemærk, at hver tabel kan have flere UNIQUE-begrænsninger, men kun én PRIMARY KEY-begrænsning.

SQL UNIQUE-begrænsning på CREATE TABLE

Følgende SQL opretter en UNIQUE-begrænsning på kolonnen "Id_P" når tabellen "Persons" oprettes:

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

Hvis du har brug for at navngive en UNIQUE-begrænsning og definere en UNIQUE-begrænsning for flere kolonner, brug følgende 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-begrænsning på ALTER TABLE

Når tabellen allerede er oprettet, og du vil oprette en UNIQUE-begrænsning i kolonnen "Id_P", brug følgende SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (Id_P)

Hvis du vil navngive en UNIQUE-begrænsning og definere en UNIQUE-begrænsning for flere kolonner, brug følgende SQL-syntaks:

MySQL / SQL Server / Oracle / MS Access:

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

Annuller UNIQUE-begrænsning

Hvis du vil annullere en UNIQUE-begrænsning, brug følgende SQL:

MySQL:

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID