如何将外键约束添加到 SQL Server (T-SQL) 中的现有表

发布于

在数据库术语中,外键是在两个表之间的关系中链接到另一个表的主键字段的列。

外键是一种约束类型,因此如果要在 SQL Server 中创建外键,则需要创建外键约束。

本文演示如何使用 Transact-SQL 在 SQL Server 中创建外键约束。

示例

演示这一点的最简单方法是使用示例。在此示例中,我们使用 T-SQL 使用以下语句创建外键约束:ALTER TABLE

USE Music; ALTER TABLE Albums ADD CONSTRAINT FK_Albums_Artists FOREIGN KEY (ArtistId)
REFERENCES dbo.Artists (ArtistId) ON DELETE CASCADE
ON UPDATE CASCADE ; GO

这将在两个表(表和表)之间创建关系。我们通过在表上创建外键约束来实现此目的。我们指定列是列的外键。Albums``Artists)``Albums``Albums.ArtistId``Artists.ArtistId

这显然假定这两个表存在。如果他们不这样做,我们就会得到一个错误。

我们还使用实际上不是 T-SQL 的一部分。各种实用工具都会识别它,以指示一批 T-SQL 语句的结束。GO

检查结果

您可以通过运行以下脚本来检查结果:

USE Music; SELECT name, type_desc, delete_referential_action_desc, update_referential_action_desc FROM sys.foreign_keys; GO

这将列出数据库中的外键。更改数据库的名称以使其适合。Music

如果数据库的外键过多,则始终可以使用子句将其缩小到感兴趣的特定外键。如果需要返回所有列,也可以使用通配符 ()。WHERE``*