За да намерите конкретната грешка, изпълнете това:
SHOW ENGINE INNODB STATUS;
И вижте LATEST FOREIGN KEY ERROR раздел.
Типът данни за дъщерната колона трябва да съвпада точно с родителската колона. Например, тъй като medicalhistory.MedicalHistoryID е INT , Patient.MedicalHistory също трябва да бъде INT , а не SMALLINT .
Също така трябва да изпълните заявката set foreign_key_checks=0 преди да стартирате DDL, за да можете да създавате таблиците в произволен ред, вместо да се налага да създавате всички родителски таблици преди съответните дъщерни таблици.