无法添加列值

时间:2010-05-11 05:10:35

标签: sql sql-server-2005 mdf

我有项目,其中包含4个这些shedule表会话列中的表我无法添加vaue,此表包含

来自两个表的三个foriegn键(其中单个表在这里有两个外键)我在这里添加了值..任何一个 对此有任何想法。实际上我的意图是删除错误“插入语句与外键约束sql server冲突”

Table Shedule包含会话号作为主键,它在Q& A表中用作外键。表Q& A包含问题num 作为主键。表Employee包含Employeeid作为主键,在Q& A表中用作foriegn键两次foriegn 密钥在Shedule表中。表主题包含Topicid作为主键,用于Shedule表和Q& A表中的签名密钥 这里我的问题是我无法在Shedule表中添加会话列的值(这是一个主键) 第二个是每当我在Q& A表中插入值时,我都会收到这样的错误 错误消息:INSERT语句与FOREIGN KEY约束“FK_QandA_Schedule”冲突。冲突发生在数据库“secon”,表“dbo.Schedule”,列“Session_No”中。 声明已经终止。

3 个答案:

答案 0 :(得分:1)

  

插入语句与之冲突   外键约束sql server

显然,您正在尝试将某个值插入到其中一个外键字段中,该外键字段在引用的表中不是有效值。

你说你有三列 - 根据他们引用的表检查每一列 - 不应该太难以找出哪一个无效 - 然后使用有效值。这就是引用完整性的全部要点 - 确保不要在表中插入无效数据!

答案 1 :(得分:1)

错误意味着它所说的。也就是说,根据父表中的id,它没有列。

更具体地说,请向我们展示表格和INSERT声明。

更新:如果我说对了你的话:

1)您尝试将一行插入表 Shedule ,对吧?

如果是这样,您需要在表员工中使用 Employeeid ,在表主题中使用 Topicid ,你正试图插入。 我想,根据错误消息,您没有有效的Q& A外键值。这意味着,您尝试在INSERT语句中添加的Q& A外键值必须存在于Q& A表中。

2)您尝试将一行插入表 Q& A

对于此表,您需要有效的 Employeeid (其中2个?), Topicid Session_number

P.S。但如果你没有向我们展示INSERT语句,我不知道你的问题是什么。

答案 2 :(得分:0)

我使用了Cascade规则。它暂时有效,但我不知道后果。