У меня есть две ранее существующие таблицы, bar
(с 2 столбцами, id
[int 11] и name
) и foo_bar
(с 3 столбцами, id
, foo_id
и bar_id
[int 11]). (Есть также таблица foo
, но здесь она не актуальна.)
Я хочу добавить миграцию к foo_bar
, чтобы при удалении строки из bar
удалялась соответствующая строка в foo_bar
. Это мое утверждение:
ALTER TABLE `foo_bar` ADD FOREIGN KEY (`bar_id`) REFERENCES `bar`(`id`) ON DELETE CASCADE
Но когда я запускаю это, я получаю эту ошибку:
1452 - Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполнено (dbn
. #sql-1_10ad
, CONSTRAINT #sql-1_10ad_ibfk_1
FOREIGN KEY (bar_id
) ССЫЛКИ bar
(id
) НА УДАЛИТЬ КАСКАД )
И bar_id
, и id
в таблице bar
имеют тип int(11)
. id
в таблице bar
является первичным ключом.