Wanneer u deze vage foutmelding krijgt, kunt u de meer specifieke fout achterhalen door
. uit te voerenSHOW ENGINE INNODB STATUS;
De meest voorkomende redenen zijn dat bij het maken van een externe sleutel, zowel het veld waarnaar wordt verwezen als het veld voor de externe sleutel moeten overeenkomen:
- Motor moet hetzelfde zijn bijv. InnoDB
- Gegevenstype moet hetzelfde zijn, en met dezelfde lengte.
e.g. VARCHAR(20) of INT(10) NIET ONDERTEKEND - Collatie zou hetzelfde moeten zijn. bijv. utf8
- Uniek - Foreign key moet verwijzen naar een uniek veld (meestal privé) in de referentietabel.
Een andere oorzaak van deze fout is:
U hebt een SET NULL-voorwaarde gedefinieerd, hoewel sommige kolommen zijn gedefinieerd als NOT NULL.