С таблица, създадена с тази команда:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL
);
Можем да вмъкнем елемент повече от веднъж.
И по-специално, можем да имаме колони, които повтарят една и съща стойност.
Можем да принудим колона да има само уникални стойности с помощта на UNIQUE
ключово ограничение:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL UNIQUE
);
Сега, ако се опитате да добавите „Flavio“ два пъти:
INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (20, 'Flavio');
Ще получите грешка:
ERROR: duplicate key value violates unique constraint "people_name_key"
DETAIL: Key (name)=(Flavio) already exists.
Първичен ключ е уникален ключ, който има друго свойство:това е основният начин, по който идентифицираме ред в таблицата.
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL PRIMARY KEY
);
Първичният ключ може да бъде например имейл в списък с потребители.
Първичният ключ може да бъде уникален id
които автоматично присвояваме на всеки запис.
Каквато и да е тази стойност, знаем, че можем да я използваме за препратка към ред в таблицата.