Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL não pode adicionar restrição de chave estrangeira


Para encontrar o erro específico, execute isto:
SHOW ENGINE INNODB STATUS;

E olhe no LATEST FOREIGN KEY ERROR seção.

O tipo de dados da coluna filha deve corresponder exatamente à coluna pai. Por exemplo, como medicalhistory.MedicalHistoryID é um INT , Patient.MedicalHistory também precisa ser um INT , não um SMALLINT .

Além disso, você deve executar a consulta set foreign_key_checks=0 antes de executar o DDL para que você possa criar as tabelas em uma ordem arbitrária, em vez de precisar criar todas as tabelas pai antes das tabelas filhas relevantes.