Senior
Как да добавите ограничение за уникалност в PostgreSQL за комбинация от две колони, където отделните стойности могат да се повтарят, но двойките — не?
sobes.tech AI
Отговор от AI
В PostgreSQL, за да се гарантира уникалността на комбинацията от стойности на две колони, се използва ограничението UNIQUE върху тази двойка колони. Това гарантира, че всяка двойка стойности ще бъде уникална, дори ако отделните стойности в колоните могат да се повтарят.
Пример на SQL заявка:
ALTER TABLE името_на_вашата_таблица
ADD CONSTRAINT unique_col1_col2 UNIQUE (колона1, колона2);
Ако таблицата се създава наново, може веднага да се посочи ограничението:
CREATE TABLE името_на_вашата_таблица (
id SERIAL PRIMARY KEY,
колона1 TИП,
колона2 TИП,
-- други колони
CONSTRAINT unique_col1_col2 UNIQUE (колона1, колона2)
);
По този начин базата данни няма да позволи вмъкването на редове с повтаряща се комбинация от стойности в тези две колони.