SQL UNIQUE
DEFINICJA
UNIQUE to jedno z ograniczeń (CONSTRAINTS) które można „nałożyć” na kolumny w tabeli. Możemy wskazać kolumnę, która ma przechowywać unikalne wartości. Początkujący programiści często mylą UNIQUE z PRIMARY KEY. Są pewne różnice. W odróżnieniu od klucza głównego (który może być tylko jeden w tabeli) kolumn z ograniczeniem UNIQUE może być więcej niż jedna w tabeli. Kolumny te mogą (w odróżnieniu od kluczy głównych) przechowywać wartości NULL.
Przykład zastosowania UNIQUE przy tworzeniu nowej tabeli (SQL SERVER).
CREATE TABLE Pracownicy
(
ID_pracownik int NOT NULL UNIQUE
,Imie varchar(20)
,Nazwisko varchar(50)
,Adres varchar(50)
,Email varchar(30)
,Telefon int
)
Przykład zastosowania UNIQUE przy tworzeniu nowej tabeli (MySQL).
CREATE TABLE Pracownicy
(
ID_pracownik int NOT NULL
,Imie varchar(20)
,Nazwisko varchar(50)
,Adres varchar(50)
,Email varchar(30)
,Telefon int
,UNIQUE(ID_pracownik)
)
Ograniczeniu UNIQUE można nadać nazwę i nałożyć je na więcej niż jedną kolumnę.
CREATE TABLE Pracownicy
(
ID_pracownik int NOT NULL
,Imie varchar(20)
,Nazwisko varchar(50)
,Adres varchar(50)
,Email varchar(30)
,Telefon int
,CONSTRAINTS unique_Person UNIQUE (ID_pracownik,Nazwisko)
)
Ogranicznie UNIQUE możemy nadać już na istniejącą tabelę (kolumnę).
ALTER TABLE Pracownicy
ADD UNIQUE (ID_pracownik)
Tak jak przy tworzeniu tabeli ograniczenie UNIQUE możemy nadać na więcej niż jedną kolumnę i nadać mu nazwę.
ALTER TABLE Pracownicy
ADD CONSTRAINT unique_Person UNIQUE (ID_pracownik, Nazwisko)
UNIQUE możemy także usunąć (SQL SERVER).
ALTER TABLE Pracownicy
DROP CONSTRAINT unique_Person