Мне удалось это исправить, сделав несколько вещей.Все, что я сделал, чтобы исправить это, пришло отсюда:
https://dev.mysql.com/doc/refman/5.5/en/alter-table.html
Конкретно заголовок: «Иностранные ключи и другие ограничения»
Была паравещи, которые я заметил и изменил.Первое, что бросилось в глаза, это то, что вы используете Model_name в качестве внешнего ключа, хотя это не первичный ключ в таблице моделей.Я не уверен, что это требование, но оно, похоже, выключено.
Мнение: поля внешнего и первичного ключа всегда должны быть "идентификаторами", а не "именами".Поэтому я заменил поле model_name в транспортных средствах идентификатором модели и обновил до INT (для соответствия моделям).
Затем я немного изменил синтаксис в таблице изменения:
ALTER TABLE Vehicles
ADD CONSTRAINT model_FK FOREIGN KEY (Model_ID) REFERENCES Models(Model_ID);
Все это работало!
Я думаю, что если вы хотите использовать имя_модели в качестве внешнего ключа в Транспортных средствах, то это либо должно быть первичным ключом для Моделей, либо вы можете добавить индекс для Моделей с помощью Model_name.Это больше соответствует сообщению об ошибке, которое я видел, когда пытался изменить таблицу, чтобы создать FK имя_модели ... что-то о "отсутствующем индексе для ограничения в ссылочных моделях таблиц".