外來鍵關係約束
使用外來鍵可以定義兩個表之間的關係。一個(父)表需要具有唯一標識表中行的主鍵。其他(子)表可以具有來自其中一列中的父鍵的主鍵值。FOREIGN KEY REFERENCES 約束確保子表中的值必須作為父表中的主鍵值存在。
在此示例中,我們使用帶有 CompanyId 主鍵的父 Company 表,以及具有該員工所在公司的 id 的子 Employee 表。
create table Company (
CompanyId int primary key,
Name nvarchar(200)
)
create table Employee (
EmployeeId int,
Name nvarchar(200),
CompanyId int
foreign key references Company(companyId)
)
外來鍵引用確保插入 Employee.CompanyId 列的值也必須存在於 Company.CompanyId 列中。此外,如果至少有一名員工在子表中具有匹配的 companyId,則沒有人可以刪除公司表中的公司。
FOREIGN KEY 關係確保兩個表中的行不能取消連結。