В моем случае проблема была больше похожа на ту, что была описана в первой статье, на которую вы ссылались.
Так что мне просто нужно убедиться, что:
Referenced Column
является индексом, - и
Referencing Column
, и Referenced Column
имеют одинаковый тип идлина, т. е. оба значения INT(10)
, - имеют одинаковую не нулевую , unsigned , нулевое заполнение и т. д. Конфигурация.
- обе таблицы InnoDB !
Вот шаблон запроса, где Referencing Column
равно referencing_id
и Referenced Column
равно referenced_id
:
ALTER TABLE `db`.`referencing`
ADD CONSTRAINT `my_fk_idx`
FOREIGN KEY (`referencing_id`)
REFERENCES `db`.`referenced`(`referenced_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
Обновление 2016-03-13 : Я снова столкнулся с этой проблемой и в итоге нашел свой собственный ответ.На этот раз это не помогло.Оказывается, другая таблица все еще была настроена на MyISAM, как только я изменил ее на InnoDB, все заработало.