Odpověď d. je správné, pokud a pouze tehdy, když úložný modul skutečně podporuje a vynucuje omezení cizích klíčů.
Pokud jsou tabulky vytvořeny pomocí Engine=MyISAM , pak ani b. nebo d. je správně.
Pokud jsou tabulky vytvořeny pomocí Engine=InnoDB a poté d. je správně.
POZNÁMKA:
To platí pro InnoDB právě tehdy, když FOREIGN_KEY_CHECKS = 1; pokud FOREIGN_KEY_CHECKS = 0 a poté DELETE z nadřazené tabulky (foo) nebude odebrat řádky z podřízené tabulky (foo2), které odkazují na řádek odstraněný z nadřazené tabulky.
Ověřte to pomocí výstupu z SHOW VARIABLES LIKE 'foreign_key_checks' (1=ZAPNUTO, 0=VYPNUTO) (Normální výchozí nastavení je ZAPNUTO.)
Výstup z SHOW CREATE TABLE foo zobrazí, který motor tabulka používá.
Výstup z SHOW VARIABLES LIKE 'storage_engine' zobrazí výchozí stroj použitý při vytvoření tabulky a stroj není specifikován.