1

我有两个具有以下字段的表:

表格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

4 回答 4

2

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

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

于 2012-09-06T06:05:49.490 回答
0

这是因为您要在表中插入Student Mastersub_id存在于表中的记录subject。请记住,您已将 table 指定sub_idStudent Mastertable 的外键subject。这也意味着Student Master表依赖于subject表。这破坏了参照完整性。

于 2012-09-06T06:06:34.203 回答
0

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

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

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

编辑:

要纠正它,请在 Sql server management studio 中尝试以下命令:

sp_help 'dbo.subject'
于 2012-09-06T06:09:07.377 回答
0

您需要先插入主记录,然后再插入子记录。首先在 Student Master 表中插入记录,然后尝试在 Subject 表中插入。如果您将您的插入语句发送给我,将会更好地帮助您。

于 2012-09-06T06:41:23.423 回答