我有一个SQL表用户和一些PK用户。我需要从表Users创建具有相同用户的第二个表UserInfo。我将这些表格与FK联系起来。困难在于我需要两个表的用户都有相同的主要密钥。像用户"彼得" with(UserId 5)必须在UserInfo表中有(UserInfoId 5)。这是可能的,如果是的话,我该怎么做?
答案 0 :(得分:1)
Users
和UserInfo
之间存在一对一关系,在这种情况下,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
Users
和UserInfo
之间有一对多关系,在这种情况下,UserInfo.UserID
是一个FOREIGN KEY,您需要一个单独的PRIMARY KEY { {1}}。
UserInfo.UserInfoID