我正试图在列上创建一个FK,现在我正在考虑什么时候应该使用ON DELETE RESTRICT呢?(或ON UPDATE RESTRICT__)。不是和NO ACTION一样吗?
ON DELETE RESTRICT意味着,如果存在引用父行值的子行,则不能删除给定的父行。如果父行没有引用子行,则可以删除该父行。不管怎样,它的定义是外键的默认行为。
我是不是遗漏了什么?
发布于 2016-09-05 22:46:34
发布于 2016-09-05 22:49:02
唯一的区别是当您将约束定义为可推迟的时,最初是延迟的还是最初的直接模式。
NO ACTION:在标准SQL中,not意味着不执行任何操作,也就是说,如果引用表中有相关的外键值,则不允许尝试删除或更新主键值。InnoDB拒绝父表的删除或更新操作。
限制:拒绝父表的删除或更新操作。指定限制(或不执行任何操作)与省略ON、DELETE或ON UPDATE子句相同。(有些数据库系统有延迟检查,任何操作都是延迟检查。在MySQL中,将立即检查外键约束,因此没有任何操作与限制相同。)
请参阅:SQL集对比
https://stackoverflow.com/questions/39338474
复制相似问题