Удалить записи из таблицы с ограничением внешнего ключа в postgres - PullRequest
1 голос
/ 24 марта 2020

У меня есть таблица «заголовки» и таблица «оценки» в БД. Я засвидетельствовал запрос на удаление old_movies, shortfilms, игр, эпизодов из моей таблицы «титры». Но когда я запускаю запрос, я получаю показанную ниже ошибку.

ERROR:  update or delete on table "titles" violates foreign key constraint "scores_fk" on table "scores"
DETAIL:  Key (id_titles)=(tt3391132) is still referenced from table "scores".

Я попытался удалить ограничение внешнего ключа в таблице результатов, а затем попытался удалить записи, но это не сработало. Позже я попытался удалить запись сначала из таблицы «баллов», а затем из таблицы «титулов», но все равно она показывает ошибку, как указано выше. Пожалуйста, помогите мне решить эту проблему, поскольку я новичок в postgres.

Код для удаления записей:

DELETE
FROM titles
WHERE content_type = 'game'
OR extract(year from released) < 1950
OR runtime < 10
OR content_type = 'episode'

Код для изменения таблицы результатов:

ALTER TABLE scores
DROP CONSTRAINT scores_fk
,ADD  CONSTRAINT scores_fk
FOREIGN KEY (id_titles) REFERENCES titles (id_titles) ON DELETE CASCADE;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...