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.