Back to questions
Senior
3
Как в PostgreSQL добавить ограничение уникальности на комбинацию двух колонок, где по отдельности значения могут повторяться, но пары — нет?
Companies where asked
Lanit PPM
Answer from AI
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)
);
Таким образом, база данных не позволит вставить строки с повторяющейся комбинацией значений в этих двух колонках.