Consulta il manuale MySQL sui vincoli di chiave esterna :
Alcune idee:
- Meglio eliminare le tabelle e crearne di nuove con una sintassi ben formata.
- Assicurati di aggiungere
ENGINE=InnoDB;
al tuoCREATE TABLE
- comando. - Assicurati che InnoDB sia abilitato sul tuo server MySQL. Per verificarlo, prova questo comando:
SHOW VARIABLES LIKE 'have_innodb';
- se restituisce un SI, allora InnoDB è abilitato. - Controlla il tuo comando per le lettere maiuscole e minuscole nei nomi delle tabelle e dei campi.
- Seleziona questa non solo sulla tabella che vuoi creare, ma anche sulle tabelle a cui si riferiscono le chiavi esterne.
- Assicurati che le tabelle referenziate siano correttamente indicizzate.