— Уникальность по двум столбцам
CREATE TABLE test.t_un (
x bigint,
y bigint,
CONSTRAINT t_un_xy_unique UNIQUE (x, y)
)
— Просмотр таблицы
SELECT * FROM test.t_un;
— Вставка нормальных данных
INSERT INTO test.t_un VALUES (1,1), (1,2), (2,1), (2,2);
— Вставка уже существующих данных
— Вызовет ошибку
INSERT INTO test.t_un VALUES (1,1);
Мы создали простую таблицу из двух столбцов. Оба столбца целочисленные.
Для всей таблицы мы создали ограничение уникальности, в которое добавили связь из двух столбцов.
CONSTRAINT t_un_xy_unique UNIQUE (x, y)
После слова UNIQUE мы открыли круглы скобки и через запятую перечислили названия столбцов, по которым хотим хранить уникальное значение.
Попытка вставить одинаковые данные вызовет ошибку.
Информационные ссылки
Официальный сайт WEB-оболочки pgAdmin — https://www.pgadmin.org
Официальный сайт СУБД PostgreSQL — https://www.postgresql.org
Оператор CREATE TABLE — https://postgrespro.ru/docs/postgresql/14/sql-createtable