sql >> Databasteknik >  >> RDS >> Mysql

MySQL kan inte lägga till främmande nyckelbegränsning

För att hitta det specifika felet, kör detta:

SHOW ENGINE INNODB STATUS;

Och titta i LATEST FOREIGN KEY ERROR avsnitt.

Datatypen för den underordnade kolumnen måste matcha den överordnade kolumnen exakt. Till exempel eftersom medicalhistory.MedicalHistoryID är en INT , Patient.MedicalHistory måste också vara en INT , inte en SMALLINT .

Du bör också köra frågan set foreign_key_checks=0 innan du kör DDL så att du kan skapa tabellerna i en godtycklig ordning istället för att behöva skapa alla överordnade tabeller före de relevanta underordnade tabellerna.



  1. Hur importerar man en stor MS SQL .sql-fil?

  2. Hur man filtrerar poster med aggregatfunktion AVG

  3. Spelar ordningsföljden på tabellerna som hänvisas till i ON-klausulen i JOIN någon roll?

  4. Hur SQLite Char() fungerar