答案d。当且仅当存储引擎实际支持并强制执行外键约束时,才是正确的。
如果使用创建表
Engine=MyISAM,则b。或d。是正确的。
如果使用创建表
Engine=InnoDB,则 d。 是正确的。
注意:
仅当且仅当InnoDB才如此
FOREIGN_KEY_CHECKS = 1。如果为
FOREIGN_KEY_CHECKS =0,则
DELETE来自父表(foo)的a 不会 从子表(foo2)中删除引用从父表中删除的行的行。
使用
SHOW VARIABLES LIKE 'foreign_key_checks'(1 = ON,0 =
OFF)的输出进行验证(正常默认值为ON。)
来自的输出
SHOW CREATE TABLE foo将显示表使用的引擎。
来自的输出
SHOW VARIABLES LIKE 'storage_engine'将显示在创建表且未指定引擎时使用的默认引擎。



