使用 INSERT 和 UPDATE 语句禁用外键约束

在 SQL Server 2012 中,您可以通过使用 SQL Server Management Studio 或 Transact-SQL,在 INSERT 和 UPDATE 事务期间禁用外键约束。 如果您知道新数据将与现有约束冲突或者如果约束仅适用于数据库中已有的数据,则可选择此选项。

本主题内容

  • 开始之前:

    限制和局限

    安全性

  • 对 INSERT 和 UPDATE 语句禁用外键约束,使用:

    SQL Server Management Studio

    Transact-SQL

开始之前

限制和局限

在禁用这些约束后,在将来插入或更新列时,将不会根据约束条件进行验证。

安全性

权限

需要对表的 ALTER 权限。

用于“返回首页”链接的箭头图标[Top]

使用 SQL Server Management Studio

对 INSERT 和 UPDATE 语句禁用外键约束

  1. 在**“对象资源管理器”中,展开具有约束的表,再展开“键”**文件夹。

  2. 右键单击该约束,再选择**“修改”**。

  3. 在**“表设计器”下的网格中,单击“强制外键约束”,然后从下拉菜单中选择“否”**。

  4. 单击**“关闭”**。

用于“返回首页”链接的箭头图标[Top]

使用 Transact-SQL

对 INSERT 和 UPDATE 语句禁用外键约束

  1. 在**“对象资源管理器”**中,连接到数据库引擎的实例。

  2. 在标准菜单栏上,单击**“新建查询”**。

  3. 将以下示例复制并粘贴到查询窗口中,然后单击**“执行”**。

    USE AdventureWorks2012;
    GO
    ALTER TABLE Purchasing.PurchaseOrderHeader
    NOCHECK CONSTRAINT FK_PurchaseOrderHeader_Employee_EmployeeID;
    GO
    

有关详细信息,请参阅 ALTER TABLE (Transact-SQL)

用于“返回首页”链接的箭头图标[Top]