MySQL支持外键的存储引擎只有InnoDB、。在创建外键的时候,可以指定在删除、更新父表时,对子表进行的相应操作,包括RESTRICT、NO ACTION、SET NULL和CASCADE。
其中RESTRICT和NO ACTION相同,是指在子表有关联记录的情况下父表不能更新;CASCADE表示父表在更新或者删除时,更新或者删除子表对应记录;SET NULL则是表示父表在更新或者删除的时候,子表的对应字段被SET NULL。
如:
KEY `FK_ID` (`news_type`),
CONSTRAINT `FK_ID` FOREIGN KEY (`news_type`) REFERENCES `new_category` (`category_id`)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
本文介绍了MySQL中外键的应用,特别强调了仅InnoDB存储引擎支持外键,并详细解释了在删除和更新父表记录时,子表可以采取的不同操作方式,包括RESTRICT、NO ACTION、CASCADE及SET NULL。

被折叠的 条评论
为什么被折叠?



