Sobes.tech
Назад к вопросам
Senior
4

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

Компании, где спрашивали
Lanit PPM

Ответ от нейросети

sobes.tech AI

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

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