mysql的外键类型为:RESTRICT、NO ACTION、CASCADE、SET NULL
- CASCADE: 从父表中删除或更新对应的行,同时自动的删除或更新自表中匹配的行。ON DELETE CANSCADE和ON UPDATE CANSCADE都被InnoDB所支持。
- SET NULL: 从父表中删除或更新对应的行,同时将子表中的外键列设为空。注意,这些在外键列没有被设为NOT NULL时才有效。ON DELETE SET NULL和ON UPDATE SET SET NULL都被InnoDB所支持。
- NO ACTION: InnoDB拒绝删除或者更新父表。
- RESTRICT: 拒绝删除或者更新父表。指定RESTRICT(或者NO ACTION)和忽略ON DELETE或者ON UPDATE选项的效果是一样的。
SET DEFAULT: InnoDB目前不支持
企业开发中一般不使用外键,通过代码业务逻辑去实现外键功能