Podívejte se na příručku MySQL o omezeních cizích klíčů :
Pár nápadů:
- Je lepší zrušit tabulky a vytvořit je nové s dobře vytvořenou syntaxí.
- Nezapomeňte přidat
ENGINE=InnoDB;
do vašíCREATE TABLE
- příkaz. - Ujistěte se, že je na vašem serveru MySQL povolena služba InnoDB. Chcete-li to ověřit, zkuste tento příkaz:
SHOW VARIABLES LIKE 'have_innodb';
- pokud vrátí ANO, pak je InnoDB povoleno. - Zkontrolujte, zda příkaz neobsahuje velká a malá písmena v názvech tabulek a polí.
- Zaškrtněte nejen tabulku, kterou chcete vytvořit, ale také tabulky, na které se cizí klíče odkazují.
- Ujistěte se, že doporučené tabulky jsou správně indexovány.