Как в PostgreSQL добавить ограничение уникальности на комбинацию двух колонок, где по отдельности значения могут повторяться, но пары — нет?

В PostgreSQL для обеспечения уникальности комбинации значений двух колонок используется ограничение UNIQUE на пару этих колонок.

Короткий ответ

Что ответить на собеседовании

В 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)
);

Таким образом, база данных не позволит вставить строки с повторяющейся комбинацией значений в этих двух колонках.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку