Skip to content

SQL 禁用外键约束

🏷️ SQL Server

启用禁用约束

今天逛论坛才发现外键约束还是可以禁用的。

使用 NOCHECK CONSTRAINTALTER TABLE 配合来禁用约束。

sql
ALTER TABLE [dbo].[TableName] NOCHECK CONSTRAINT [FK_TableName_OtherTableName]

还可以使用 CHECK CONSTRAINT 重新启用该约束。

sql
ALTER TABLE [dbo].[TableName] CHECK CONSTRAINT [FK_TableName_OtherTableName]

另外,CREATE TABLE 语句中仅能创建外键约束,不能创建的同时禁用。

SSMS

SSMS (SQL Server Management Studio) 中可以通过设置 Enforced Foreign Key Constraint(强制外键约束) 属性来启用禁用约束。将该属性设置为 false (否),就相当于禁用了该约束。

参考

  1. ALTER TABLE (Transact-SQL)