外键冲突无法插入数据

时间:2012-09-06 06:03:46

标签: sql asp-classic foreign-keys

我有两个表有以下字段:

表1:

学生大师

字段:

stu_id(primary key)
name
class
doc upload
sub_id(foreign_key)

表2:

主题

字段:

sub_id(primary key)
subject name

但是当我在表单中插入条目时,会出现以下错误。

  

INSERT语句与FOREIGN KEY约束“FK__student_m__sub_i__0C85DE4D”冲突。冲突发生在数据库“test2”,表“dbo.subject”,列'sub_id'**

请帮助我错在哪里?

4 个答案:

答案 0 :(得分:2)

因为你试图在Student Master的sub_id中插入一个Subject表中不存在的值(Subject表中没有引用)

如果这些是第一条记录,请确保首先插入Subject,然后插入Student Master

答案 1 :(得分:0)

这是因为您在Student Master表中插入记录sub_idsubject上没有sub_id。请记住,您已将Student Master subject表指定为Student Master表中的外键。这也意味着subject表依赖于{{1}}表。这打破了参照完整性。

答案 2 :(得分:0)

  

FK的工作方式是它不能在该列中具有值,该值也不在引用表的主键列中。

因为它是一个外键约束,它告诉您试图在表中插入的值,而不是引用表中的值。

因此,首先必须确保在Student表中插入sub_id表格中subject可用。

编辑:

要纠正它在Sql server management studio中尝试此命令:

sp_help 'dbo.subject'

答案 3 :(得分:0)

您需要先插入主记录,然后再插入子记录。 首先在Student Master表中插入记录,然后尝试在Subject表中插入。 如果您将插入声明发给我,将会对您有所帮助。