当前位置: 代码迷 >> Sql Server >> 相干 约束
  详细解决方案

相干 约束

热度:574   发布时间:2016-04-27 11:56:15.0
有关 约束
你好我刚才试了没有外键的表  

  但是有其他的约束的表 比如 主键 设默认值 等的约束的表  

  可以直接有 delete [表名] where [ ] 删除数据


  我要问的是 是不是只有 有外键的表数据不能直接删呢, 原因又是什么呢?

------解决方案--------------------
要先删除外键数据或更改外键数据,或取消外键,用外键是保证表之间关联的完整性,如已被外键引用,当然不能直接删除,否则导致外键表中数据的链接失效.
------解决方案--------------------
外关键字约束是主表和多个其他表之间关系的约束。既然存在这个约束关系,那么就是要么都有,要么都没有。因此不能先删除主表,需要将其他表相关记录都删除,确保没有该值才能删除主表。
但是也可以通过设置级联删除的方式,也就是允许先删除主表,系统同时会将相关表的记录一起删除。有关级联删除的具体说明参见MSDN。
  相关解决方案