外键关系约束

使用外键可以定义两个表之间的关系。一个(父)表需要具有唯一标识表中行的主键。其他(子)表可以具有来自其中一列中的父键的主键值。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 关系确保两个表中的行不能取消链接