日期:2014-05-20  浏览次数:20719 次

主外键引用异常问题
删除产生异常:SqlException
ErrorCode: 0x80131904

DELETE 语句与 COLUMN REFERENCE 约束 'FK_tUserGroup_tUser' 冲突。该冲突发生于数据库 'Test',表 'tUserGroup', column 'GroupID'。


这个消息可以看到为什么不能删除数据,可是用户看不懂,如果我报“组已经被使用不可删除”那样不知道是那个引用产生了这个问题,到底哪里还有数据应该被删除。

怎么解决?

------解决方案--------------------
先把表之间的关系弄清楚,
做删除的时候,可以用事务处理多条记录删除;
------解决方案--------------------
你要删除子表的数据然后再删除父表的数据。因为你的表添加了约束
------解决方案--------------------
方法1、先把主表所有的外键表删除,再删主表
方法2、将表间关系删掉,那就随便删了

根据需要办吧。。。
------解决方案--------------------
那你就把SQL错误ErrorCode: 0x80131904 获取到,然后自己写提示信息,然后再往外抛

探讨
我不想删除,只想提示:为什么数据不可以删除。