PostgreSQL | Уникальность записи в таблице на основе двух столбцов

PostgreSQL | Уникальность записи в таблице на основе двух столбцов

— Уникальность по двум столбцам

 

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 мы открыли круглы скобки и через запятую перечислили названия столбцов, по которым хотим хранить уникальное значение.

Попытка вставить одинаковые данные вызовет ошибку.

Ограничение уникальности записи на основе двух столбцов в PostgreSQL
Ограничение уникальности записи на основе двух столбцов в PostgreSQL

 

 

Информационные ссылки

Официальный сайт WEB-оболочки pgAdminhttps://www.pgadmin.org

Официальный сайт СУБД PostgreSQLhttps://www.postgresql.org

Оператор CREATE TABLEhttps://postgrespro.ru/docs/postgresql/14/sql-createtable