Всегда думал, что на одном поле таблицы БД может быть только один внешний ключ. Но недавно встретил вот такое определение таблицы в postgresql и был немного обескуражен.
alter table public.Roles
add constraint fk_roles_types foreign key (typeId)
references public.RoleTypes (Id)
on delete restrict on update restrict;
alter table public.Roles
add constraint fk_roles_types2 foreign key (typeId)
references public.RoleTypes (Id)
on delete restrict on update cascade;
Как такое возможно? Как это вообще работает, какое ограничение в итоге будет работать. Может кто-нибудь сталкивался и подскажет (ничего что-то не смог нагуглить по этому вопросу, на SO также глухо).