Как проверить данные на уникальность в базе данных?

Рейтинг: 0Ответов: 2Опубликовано: 09.02.2023

Есть БД PostgreSQL 14, с сервиса приходят данные, их нужно записывать в таблицу, если определенных 3 сразу столбцов уже нет в базе данных, подскажите, как это лучше реализовать? UNIQUE для этой задачи не подходит, т.к, по одному столбцы могут повторяться.

Ответы

▲ 1Принят

Для создания группового ограничения, можно использовать конструкцию вида

ALTER TABLE someTable ADD UNIQUE (col1, col2, col3);

Это указывает, что комбинация значений в указанных столбцах уникальна для всей таблицы, хотя по отдельности столбцы не обязательно должны быть (и обычно не являются) уникальными.

Описание в доке в разделе 5.4.3

▲ 1
CREATE UNIQUE INDEX index_name ON table_name (column_name_1, column_name_2, column_name_3);