SQL Server 外键2025年3月17日 | 阅读 3 分钟 在 SQL Server 中,外键用于在 SQL Server 数据库中强制执行引用完整性。它指定一个表中的值必须也出现在另一个表中。 被引用的表称为父表,而具有外键的表称为子表。子表中的外键通常会引用父表中的主键。 可以使用 CREATE TABLE 语句或 ALTER TABLE 语句创建外键。 使用 CREATE TABLE 语句创建外键语法 参数解释child_table: 它指定要创建的子表的名称。 column1, column2: 它指定要在表中创建的列。每列都必须有一个数据类型。该列应定义为 NULL 或 NOT NULL,如果此值留空,则数据库假定 NULL 为默认值。 fk_name: 它指定要创建的外键约束的名称。 child_col1, child_col2, ... child_col_n: 它指定 child_table 中将引用 parent_table 中的主键的列。 parent_table: 它指定父表的名称,其主键将在 child_table 中使用。 parent_col1, parent_col2, ... parent_col3: 它指定构成 parent_table 中主键的列。外键将在此数据和 child_table 中的 child_col1、child_col2、... child_col_n 列之间强制建立链接。 示例 让我们创建两个表 "products" 和 "inventory",其中 products 表的主键是 "product_id",在 "inventory" 表中是外键。 输出 ![]() "inventory" 表中的外键约束为 fk_inv_product_id。它将在 inventory 表中的 product_id 列和 products 表中的 product_id 列之间建立关系。 现在您可以检查这两个表了。 ![]() ![]() 创建具有多个字段的外键在上面的示例中,我们看到了如何创建一个包含一列的外键。让我们创建具有多个字段的外键。 让我们创建两个表 "products2" 和 "inventory2"。在此示例中,"products2" 表有一个主键,其中包含 product_name 和 location 列。因此,第二个表和外键也必须引用这两个列。 因此,在此示例中,我们的外键名为 fk_inv_product,它基于 product_name 和 location 字段引用 products 表。 输出 ![]() 下一主题启用外键 |
我们请求您订阅我们的新闻通讯以获取最新更新。