回答d。ストレージエンジンが実際に外部キー制約をサポートおよび実施している場合に限り、正しいです。
テーブルがEngine=MyISAM
で作成されている場合 、その後どちらもb。またはd。正しいです。
テーブルがEngine=InnoDB
で作成されている場合 、次にd。 正しいです。
注:
これは、FOREIGN_KEY_CHECKS = 1
の場合にのみ、InnoDBに当てはまります。; FOREIGN_KEY_CHECKS = 0
の場合 、次にDELETE
親テーブル(foo)からは 親テーブルから削除された行を参照する子テーブル(foo2)から行を削除します。
SHOW VARIABLES LIKE 'foreign_key_checks'
からの出力でこれを確認します (1 =オン、0 =オフ)(通常のデフォルトではこれがオンになります。)
SHOW CREATE TABLE foo
からの出力 テーブルが使用するエンジンが表示されます。
SHOW VARIABLES LIKE 'storage_engine'
からの出力 テーブルが作成され、エンジンが指定されていないときに使用されるデフォルトのエンジンが表示されます。