两个连接的表,其中相同的记录具有相同的外键

时间:2014-12-03 18:27:53

标签: sql-server foreign-keys primary-key

我有一个SQL表用户和一些PK用户。我需要从表Users创建具有相同用户的第二个表UserInfo。我将这些表格与FK联系起来。困难在于我需要两个表的用户都有相同的主要密钥。像用户"彼得" with(UserId 5)必须在UserInfo表中有(UserInfoId 5)。这是可能的,如果是的话,我该怎么做?

1 个答案:

答案 0 :(得分:1)

UsersUserInfo之间存在一对一关系,在这种情况下,UserInfo.UserID同时是PRIMARY KEY和FOREIGN KEY。

CREATE TABLE UserInfo (
    UserID int PRIMARY KEY,
    Info varchar(max),
    CONSTRAINT FK_UserInfo_User FOREIGN KEY (UserID) REFERENCES Users(UserID)
        ON DELETE CASCADE
);

OR

UsersUserInfo之间有一对多关系,在这种情况下,UserInfo.UserID是一个FOREIGN KEY,您需要一个单独的PRIMARY KEY { {1}}。

UserInfo.UserInfoID