В PostgreSQL для обеспечения уникальности комбинации значений двух колонок используется ограничение UNIQUE на пару этих колонок. Это гарантирует, что каждая пара значений будет уникальна, даже если отдельные значения в колонках могут повторяться.
Как в PostgreSQL добавить ограничение уникальности на комбинацию двух колонок, где по отдельности значения могут повторяться, но пары — нет?
В PostgreSQL для обеспечения уникальности комбинации значений двух колонок используется ограничение UNIQUE на пару этих колонок.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В PostgreSQL для обеспечения уникальности комбинации значений двух колонок используется ограничение UNIQUE на пару этих колонок. Это гарантирует, что каждая пара значений будет уникальна, даже если отдельные значения в колонках могут повторяться.
Пример SQL-запроса:
ALTER TABLE your_table_name
ADD CONSTRAINT unique_col1_col2 UNIQUE (column1, column2);
Если таблица создаётся с нуля, можно сразу указать ограничение:
CREATE TABLE your_table_name (
id SERIAL PRIMARY KEY,
column1 TYPE,
column2 TYPE,
-- другие колонки
CONSTRAINT unique_col1_col2 UNIQUE (column1, column2)
);
Таким образом, база данных не позволит вставить строки с повторяющейся комбинацией значений в этих двух колонках.