外來鍵關係約束

使用外來鍵可以定義兩個表之間的關係。一個(父)表需要具有唯一標識表中行的主鍵。其他(子)表可以具有來自其中一列中的父鍵的主鍵值。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 關係確保兩個表中的行不能取消連結