UNIQUE
UNIQUE służy do określania ograniczenia dla kolumny/kolumn w tabeli. Dzięki temu możemy stworzyć kolumnę, dla której wartości nie mogą się powtarzać.
Użycie UNIQUE jest bardzo proste. Wielokrotnie pojawia się sytuacja, w której potrzebujemy stworzyć kolumnę w której przechowywane są unikalne wartości, np.
identyfikator pracownika.
Składnia:
UNIQUE (podobnie jak
DEFAULT) definiuje się podczas tworzenia tabeli.
CREATE TABLE nazwa_tabeli(
nazwa_kolumny typ_kolumny ... UNIQUE
...
);
Przykład 1:
Utworzymy tabelę (polecenie
CREATE), która będzie przechowywała unikatowy identyfikator oraz stanowisko.
CREATE TABLE test_unique (
identyfikator VARCHAR(5) NOT NULL UNIQUE,
pracownik VARCHAR(25)
);
W celu prześledzenia działania UNIQUE dodajmy przykładowe wiersze do tabeli (polecenie
INSERT).
INSERT INTO test_unique VALUES('id_01', 'admin MsSQL');
INSERT INTO test_unique VALUES('id_02', 'admin ORACLE');
INSERT INTO test_unique VALUES('id_02', 'admin PostgreSQL');
Podczas dodawania ostatniego rekordu otrzymujemy komunikat o błędzie!
Błąd
zapytanie SQL:
INSERT INTO test_unique
VALUES (
'id_02', 'admin PostgreSQL'
);
MySQL zwrócił komunikat:
#1062 - Powtórzone wystąpienie 'id_02' dla klucza 1
Sprawdźmy zawartość tabeli
test_unique.
SELECT * FROM test_unique;
identyfikator |
pracownik |
id_01 |
administrator MsSQL |
id_02 |
administrator PostgreSQL |
Trzeci rekord nie został dodany, ponieważ w tabeli
test_unique dla kolumny
identyfikator posiadamy już wartość
id_02.
Zatem ostatecznie tabela
test_unique posiada tylko dwa rekordy.