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