При создание foregn key в firebird выходит ошибка violation of FOREIGN KEY constraint "PK_ROLES1" on table "roles"

Я пытаюсь создать foreign key в таблице user_roles.В ней есть user_id и roles_id. Я создал foreign key для user_id. А для roles_id не получается создать.

Работаю в ibexpert.

alter table "users_roles"
add constraint FK_USERS_ROLES_2
foreign key (ROLE_ID)
references "roles"(ID)
on delete CASCADE
on update CASCADE
using index FK_USERS_ROLES_2

Выходит ошибка:

violation of FOREIGN KEY constraint "PK_ROLES1" on table "roles".Буду рад любой помощи.


Ответы (1 шт):

Автор решения: Roman SHishkin

Я знаю, что ответ был уже дан Вам здесь, но всё равно продублирую эту информацию здесь, так как вопрос просматривают.

В users_roles ссылка на роль которой нет в таблицы roles.
Найти такие записи можно запросом:

select UR.*
from users_roles UR 
left join roles R on UR.ROLE_ID=R.ID
where R.ID is null
→ Ссылка