将数据插入表中时的冲突包含2个PK

时间:2013-03-19 12:57:44

标签: sql-server-2008 conflict

我有3个表连接如下:

http://imageshack.us/photo/my-images/7/41645335.jpg/

和我的存储过程一样,将数据输入到此表中,如下所示:

@tutor_id as varchar(20),
@module_id as varchar(20)


INSERT INTO tutor_module(tutor_id, module_id) VALUES(@tutor_id, @module_id);

当用户单击“ADD”按钮

时,将数据提供给表单中的2个变量

但是当我调用存储过程时,我遇到了这个问题: “INSERT语句与FOREIGN KEY约束冲突”FK_tutor_module_module“。冲突发生在数据库”C:\ USERS \ DUCTRIEU \ DESKTOP \ DROPBOX \ G20547722 \ APP_DATA \ G20547722DB.MDF“,表”dbo.module“,列'module_id ”。 声明已经终止。“

任何人都可以告诉我如何将数据插入此表而不会出错吗? 它们的数据格式是varchar(20)。

非常感谢。

1 个答案:

答案 0 :(得分:0)

您正在尝试插入module_id表中不存在的module值,这是外键的重点。这听起来非常明显,但为了避免这个错误,您首先需要确保tutor_idmodule_id的值分别存在于tutormodule表中< / p>