sql >> Databáze >  >> RDS >> Mysql

MySQL na kaskádě mazání. Testovací příklad

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.



  1. ukládání html obsahu do mysql databáze

  2. Vazba proměnného parametru/výsledku s připravenými příkazy

  3. Jak používat pg_stat_activity?

  4. Jak povolit explicit_defaults_for_timestamp?