Уникальность столбцов SQL
У меня есть база данных, в которой есть список сообщений для каждой ветки обсуждений.
Например,
| Номер сообщения | Ветка |
|---|---|
| 1 | dev |
| 2 | dev |
| 1 | cat |
Очевидно, что комбинация (номер сообщения, ветка) должна быть уникальной. Я так и написал unique(id, board), однако SQL считает их уникальными по отдельности, а нужна уникальность совокупности. Как это исправить?
Полный текст
create table threads
(
id serial primary key,
board varchar(5) not null
constraint board_id_fk
references boards
on update cascade on delete cascade,
subject text,
message text not null,
attachments jsonb,
unique(board, id)
);
Ответы (1 шт):
Автор решения: Герман Борисов
→ Ссылка
Ограничение на пару board, id не имеет смысла, так как у вас есть ограничение уникальности (в виде первичного ключа) на id