Z tabelą utworzoną za pomocą tego polecenia:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL
);
Możemy wstawić element więcej niż raz.
W szczególności możemy mieć kolumny, które powtarzają tę samą wartość.
Możemy wymusić, aby kolumna miała tylko unikalne wartości za pomocą UNIQUE
kluczowe ograniczenie:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL UNIQUE
);
Teraz, jeśli spróbujesz dwukrotnie dodać „Flavio”:
INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (20, 'Flavio');
Otrzymasz błąd:
ERROR: duplicate key value violates unique constraint "people_name_key"
DETAIL: Key (name)=(Flavio) already exists.
klucz podstawowy to unikalny klucz, który ma inną właściwość:jest to podstawowy sposób, w jaki identyfikujemy wiersz w tabeli.
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL PRIMARY KEY
);
Kluczem podstawowym może być na przykład adres e-mail na liście użytkowników.
Kluczem podstawowym może być unikalny id
które przypisujemy do każdego rekordu automatycznie.
Jakakolwiek jest ta wartość, wiemy, że możemy jej użyć do odniesienia się do wiersza w tabeli.