今天在程序调试的过程中遇到这样的一个问题:
报错形式是这样的:
System.Data.SqlClient.SqlException (0x80131904): DELETE 语句与 REFERENCE 约束"FK_hy_job_hy_task"冲突。该冲突发生于数据库"hdcs",表"dbo.hy_job", column 'task_id'。
报错原因分析:
你准备删除的记录的某一属性被其他表占用着,不能够被删除,避免出现数据库的储存紊乱 ;说的学术点儿就是,数据库的外键引用限制,不能够被删除
解决方案:
我在调试程序的目的是,将所有设计到 task_id 的数据表全部删除,针对我的这种情况,我的做法十分简单,只是将删除数据表的顺序重新排列一下。
如果仅仅想删除包含此主键的数据表的时候,解决方法也只能是该变主键 外键的引用关系了,这需要在数据库设计的时候就要考虑到这种情况。
跟大家分享一下,哈哈...