Как проверить данные на уникальность в базе данных?
Есть БД PostgreSQL 14, с сервиса приходят данные, их нужно записывать в таблицу, если определенных 3 сразу столбцов уже нет в базе данных, подскажите, как это лучше реализовать? UNIQUE для этой задачи не подходит, т.к, по одному столбцы могут повторяться.
Ответы (2 шт):
Автор решения: PZBird
→ Ссылка
Для создания группового ограничения, можно использовать конструкцию вида
ALTER TABLE someTable ADD UNIQUE (col1, col2, col3);
Это указывает, что комбинация значений в указанных столбцах уникальна для всей таблицы, хотя по отдельности столбцы не обязательно должны быть (и обычно не являются) уникальными.
Автор решения: fox
→ Ссылка
CREATE UNIQUE INDEX index_name ON table_name (column_name_1, column_name_2, column_name_3);