当前位置: 代码迷 >> ASP.NET >> INSERT 语句与 COLUMN FOREIGN KEY 约束 冲突,该怎么处理
  详细解决方案

INSERT 语句与 COLUMN FOREIGN KEY 约束 冲突,该怎么处理

热度:11360   发布时间:2013-02-25 00:00:00.0
INSERT 语句与 COLUMN FOREIGN KEY 约束 冲突

有劳各位,目前的一个问题:

有外键约束的两个表,主表,约束表

首先在主表中插入了数据,然后再在被约束表中插入相应的数据,还是提示如题所示错误。

打个比方:

表 A, 字段 ID

表 B, 字段 AID

B.AID 约束于 A.ID

我现在要在 B 表中插入一条数据, B.AID 的值, 在 A 表中已经存在

插入一条带有 B.AID = 5 的记录,此时 A.ID = 5 的记录已经存在了


但是还是如题所示错误…


补充:

不好意思,个人对数据库的了解并不是很专业,所以在表述上或存在不准确的地方,请见谅!

但是,我相信大家是能理解意思的,有劳各位指教!!!

------解决方案--------------------------------------------------------
因为你插入的这个外键,这那个表找不到对应的数据。
比如你增加B.aid这个字段,但aid在A表中没有对应的数据,所以报错
这就是外键的作用
------解决方案--------------------------------------------------------
外键约束起作用了,其实可以用代码来检测外键。
------解决方案--------------------------------------------------------
"查询分析器" 里都运行了 肯定不会是sql的问题了
------解决方案--------------------------------------------------------
先给主键表插入数据
冲突发生于数据库那个表
------解决方案--------------------------------------------------------
忙乎半天把你代码贴出来吧。描述也不够清楚。如果主键正常存在,外键引用是不会不成功的。看你代码如何写的。
------解决方案--------------------------------------------------------
你在哪儿出现这个问题的?

源代码里

在相关 执行语句 类似 executenonquery(sql) 放断点 语句放到一个try里 

获取sql语句 在查询分析器 执行 如果正确,

f10 或 f11 逐行执行 看看有没有 捕捉到异常

从你的描述 简直见鬼了
------解决方案--------------------------------------------------------
你用的Entity FrameWork?
------解决方案--------------------------------------------------------
做个transection吧
------解决方案--------------------------------------------------------
路过顶!!!
------解决方案--------------------------------------------------------

------解决方案--------------------------------------------------------
建议不要设置什么东西,这样容易出问题
  相关解决方案