加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 删除主键行,这是另一个表的外键

发布时间:2021-02-23 23:16:11 所属栏目:MsSql教程 来源:网络整理
导读:假设有一个包含主键的主表,另一个表包含该主表的外键.所以如果我们删除主表的行只是不是子表. 解决方法 您应该在FKey上设置一些特定选项,例如ON DELETE {CASCADE,SET NULL,SET DEFAULT} 相反,您将无法删除引用的行,因为由于引用完整性,sql server禁止它.

假设有一个包含主键的主表,另一个表包含该主表的外键.所以如果我们删除主表的行只是不是子表.

解决方法

您应该在FKey上设置一些特定选项,例如ON DELETE {CASCADE,SET NULL,SET DEFAULT}

相反,您将无法删除引用的行,因为由于引用完整性,sql server禁止它.

因此,选项是将引用表的值设置为NULL或任何其他DEFAULT值.

或者删除它

或者,如果您的引用行在没有父行的情况下具有某种意义 – 那么您的数据库设计就会出现问题 – 要么您不需要FKey,要么未对模式进行规范化.

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读