zmień kontrast czcionka: A A A
rss angielski
jesteś w Encyklopedii SQL >> UNIQUE

UNIQUE

Za pomocą UNIQUE można ustalić, które kolumny mają być unikalne. To znaczy, że wszystkie wartości w kolumnie dla której ustalono UNIQUE muszą być niepowtarzalne w każdym wierszu tabeli.
Kolumna dla której ustalono PRIMARY KEY również jest traktowana jako UNIQUE.
Różnica polega na tym, że w danej tabeli może być tylko jedna kolumna zdefinowana jako PRIMARY KEY, w przeciwieństwie do UNIQUE, gdzie takich kolumn może być wiele.

Składnia na ustalenie kolumny unikalnej (UNIQUE) w MySQL


CREATE `nazwa_tabeli`
(
`nazwa_kolumny1` typ_danych ,
`nazwa_kolumny2` typ_danych ,
UNIQUE (`nazwa_kolumny)
)

Składnia na ustalenie kolumny unikalnej w SQL Server / Oracle / MS Access


CREATE `nazwa_tabeli`
(
`nazwa_kolumny1` typ_danych UNIQUE ,
`nazwa_kolumny2` typ_danych [UNIQUE],
)

Składnia na ustalenie unikalności (UNIQUE)dla wielu kolumn


CREATE `nazwa_tabeli`
(
`nazwa_kolumny1` typ_danych ,
`nazwa_kolumny2` typ_danych ,
CONSTRAINT nazwa_warunku_unikalności
UNIQUE (`nazwa_kolumny1` operator 'wartość'
AND|OR `nazwa_kolumny2` operator 'wartość')
)

Zdefiniowanie nazwy warunku unikalności umożliwia jego późniejszą modyfikację lub usunięcie.

Składnia na utworzenie warunku dla istniejącej już tabeli


ALTER TABLE `nazwa_tabeli`
ADD CONSTRAINT nazwa_warunku_unikalności
UNIQUE (`nazwa_kolumny1`,`nazwa_kolumny2`)

Składnia na usunięcie warunku dla istniejącej już tabeli w MySQL


ALTER TABLE `nazwa_tabeli`
DROP INDEX nazwa_warunku_unikalności

Składnia na usunięcie warunku dla istniejącej już tabeli w SQL Server / Oracle / MS Access


ALTER TABLE `nazwa_tabeli`
DROP CONSTRAINT nazwa_warunku_unikalności

Przykład

Stwórz tablicę `osoby` w której imię i nazwisko nie mogą się powtarzać

zapytanie


CREATE TABLE `osoby`
{
`liczba_porzadkowa` int,
`imie` text,
`nazwisko` text,
`PESEL` int,
CONSTRAINT `warunek_unikalnosci`,
UNIQUE ( `imie`,`nazwisko` )
}

Teraz dla utworzonej tablicy usuń wprowadzony warunek `warunek_unikalnosci` w poprzednim przykładzie

zapytanie


ALTER TABLE `osoby`
DROP (CONSTRAINT lub INDEX dla MySQL) `warunek_tabeli`

[ wróć na górę strony ]