一个主键列外键到2个其他表列。如何解决数据输入问题

时间:2009-08-07 07:27:07

标签: foreign-keys primary-key

我有一个要求,根据这个要求我必须创建一个中央登录系统。我们有两件事公司和品牌,每个都由表“公司”和“品牌”代表。

当公司注册时,会给出corporateID,当该公司下的用户注册时,有一个表corporateuser,其中corporateID是外键,CorporateUserID是主键。类似于品牌。

所以我们有CorporateUserId和BrandUserID。

现在我有一个名为RegisteredUsers的表,其中我想拥有公司和品牌用户.UserID是此表中的主键,它是corporateuser和Branduser的外键。

现在,当我输入corporateuser时,我会进入corporateuser和RegisteredUsers。当我在RegisteredUsers的userID中输入CorporateUserID时,会出现外键冲突错误。

我完全理解这个错误。我怎么能实现这一点。这个要求非常严格。请告诉解决方法

2 个答案:

答案 0 :(得分:0)

您尝试做的事情并不完全清楚,但似乎您希望所有三个用户表的主键都相同。这不是严格的外键关系,但在您的应用程序中似乎是合理的。

您需要先在RegisteredUsers中分配userID,然后在创建企业用户或品牌用户时使用该密钥。然后,用户ID在整个系统中将是唯一的。

如果这不是您想要的,请使用表格布局编辑您的条目,以使问题更加清晰。

答案 1 :(得分:0)

如果您尝试将记录插入到具有关系conatraints的表中,则需要在一个SQL Transaction下进行所有插入。