我有4个表(Guardian
,Child
,Branch
和ChildBranch
)。
Child
比Guardian
弱。 ChildBranch
是Child
和Branch
的弱关联实体。
它们都有主键和数据。
Guardian Primary Key : Email (PK, FK, varChar(100), not null)
Child Primary Key : Email (PK, FK, varChar(100), not null)
FirstName (PK, varChar(50), not null)
ChildBranch Primary Key : Email (PK, FK, varChar(100), not null)
FirstName (PK, varChar(50), not null)
Name (PK, varchar(50), not null)
如何在Child
和ChildBranch
之间创建外键?
我尝试过:
ALTER TABLE ChildBranch
ADD FOREIGN KEY (Email)
REFERENCES Child(Email);
但是出现了这个错误
在被引用表'Child'中没有与外键'FK__ChildBran__Email__7B5B524B'中的引用列列表匹配的主键或候选键。
我希望在Child
和ChildBranch
表之间创建链接。
答案 0 :(得分:0)
由于ChildBranch具有电子邮件和名字的复合主键。答案应如下所示:
ALTER TABLE ChildBranch 添加外键(电子邮件,名字) 参考Child(Email,FirstName);
感谢所有帮助我了解这一点的人。
答案 1 :(得分:0)
CREATE TABLE订单( OrderID int NOT NULL, OrderNumber int NOT NULL, PersonID int, 主键(OrderID), CONSTRAINT FK_PersonOrder外键(PersonID) 参考人员(PersonID) );
或
ALTER TABLE订单 添加外键(PersonID)参考Persons(PersonID);