и только свой собственный пост.
create table account
(
id serial primary key not null,
favorite_post int not null,
foreign key (favorite_post, id) references post (id, account_id) on delete set null
);
create table post
(
id serial primary key not null ,
account_id int not null references account,
unique (id, account_id)
)
Схема решает задачу, но on delete всё портит, ибо когда удаляем пост, то set null работает не только на поле favorite_post, но и на id, а это недопустимо, очевидно.
Подскажите, пожалуйста, как можно переделать схему что бы задача решалась до конца?)
Мне кажется, эту штуку стоит нормализовать и вынести отношение м/у аккаунтом и постом в отдельную таблицу с соответствующими ограничениями на уникальность
Я думаю можно два форинключа сделать, один только с айди поста и в нем set null, а второй составной с действием ignore🤔
Обсуждают сегодня