C#中关于删除问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 09:55:07
我的数据库里有个部门表,有个员工表,这两个表已经关联了,即员工表的部门名称是部门表的主键。现在有个问题:假如我想删除某个部门,而且员工表里有员工在这个部门,如果删除的话会报错!请问是什么问题?请高手赐教!!
有什么能解决的方法吗?

建立了主外键约束的表删除时确实会报错。比如你要删除部门表部门ID为1的数据,先将员工表中部门ID为1的删除或者更改部门ID后再删除部门表的数据。
还有一个方法不推荐:truncate table **
这个就不管什么关联,直接删除。

莫非我说的还不够清楚吗?先删除或修改从表员工表的数据,再删除主表数据。

服务器: 消息 547,级别 16,状态 1,行 1
DELETE 语句与 COLUMN REFERENCE 约束 'FK__users__dept__3C69FB99' 冲突。该冲突发生于数据库 'pubs',表 'users', column 'dept'。
语句已终止。

就是这个意思,你的主表某键被附表的外键引用,如果附表已经引用了主表该键,那么主表该键是禁止作删除数据操作的,因为已经为附表增加了foreign key reference的约束,也就是附表这个字段中的值一定要存在于主表中,如果你删除了主表中相应字段的数据,那么就违反了附表的约束,所以程序就禁止删除主表被引用的纪录。

好像是先删除主表在删除辅表

删除的话 一般是处理成伪删除的 也就是多设置一个字段 表示有效与否

建立了主外键约束的表删除时确实会报错。
你可以先把员工改到另一个部门或者删除掉先 在删除那个表就没问题了

有个最笨的办法,先把那个部门中所有的员工删了,然后在删住表的.