sql >> Database >  >> RDS >> Mysql

MySQL kan geen beperking voor externe sleutels toevoegen

Voer dit uit om de specifieke fout te vinden:

SHOW ENGINE INNODB STATUS;

En kijk in de LATEST FOREIGN KEY ERROR sectie.

Het gegevenstype voor de onderliggende kolom moet exact overeenkomen met de bovenliggende kolom. Bijvoorbeeld sinds medicalhistory.MedicalHistoryID is een INT , Patient.MedicalHistory moet ook een INT . zijn , geen SMALLINT .

U moet ook de query uitvoeren set foreign_key_checks=0 voordat u de DDL uitvoert, zodat u de tabellen in een willekeurige volgorde kunt maken in plaats van dat u alle bovenliggende tabellen vóór de relevante onderliggende tabellen hoeft te maken.



  1. Een berekende kolom maken die gegevens uit een andere tabel in SQL Server gebruikt

  2. Hoe verbinding maken met mssql met behulp van pdo via PHP en Linux?

  3. 12c VARCHAR2(32767)

  4. Hoe maak je een histogram in MySQL?