sql >> Database teknologi >  >> RDS >> Mysql

MySQL:FEJL 1215 (HY000):Kan ikke tilføje fremmednøglebegrænsning

Når du får denne vage fejlmeddelelse, kan du finde ud af den mere specifikke fejl ved at køre

SHOW ENGINE INNODB STATUS;

De mest almindelige årsager er, at når du opretter en fremmednøgle, skal både det refererede felt og det fremmednøglefelt matche:

  • Motor skal være det samme f.eks. InnoDB
  • Datatype skal være ens, og med samme længde.
    f.eks. VARCHAR(20) eller INT(10) USIGNED
  • Samling burde være det samme. f.eks. utf8
  • Unik - Fremmednøgle skal referere til felt, der er unikt (normalt privat) i referencetabellen.

En anden årsag til denne fejl er:
Du har defineret en SET NULL-betingelse, selvom nogle af kolonnerne er defineret som NOT NULL.



  1. Sådan fungerer INSTR()-funktionen i MySQL

  2. PostgreSQL-implementering og vedligeholdelse med Ansible

  3. Skalær UDF-inlining i SQL Server 2019

  4. JSON_STORAGE_SIZE() – Find lagerstørrelsen for et JSON-dokument i MySQL