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

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

本主题内容

开始之前

限制和局限

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

安全性

权限

需要对表的 ALTER 权限。

使用 SQL Server Management Studio

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

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

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

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

  4. 单击“关闭”。

“使用 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)