我有一个名为 PX_Child 的表,它在 PX_Parent 上有一个外键。我想暂时禁用此 FK 约束,以便可以截断 PX_Parent。但我不确定这是怎么回事。
我已经尝试过这些命令
ALTER TABLE PX_Child NOCHECK CONSTRAINT ALL
ALTER TABLE PX_Parent NOCHECK CONSTRAINT ALL
(truncate commands)
ALTER TABLE PX_Child CHECK CONSTRAINT ALL
ALTER TABLE PX_Parent CHECK CONSTRAINT ALL
但是截断仍然告诉我,由于外键约束,它无法截断 PX_Parent。我查遍了整个网络,似乎找不到我做错了什么,对这个问题的基本性质感到抱歉。
最佳答案
如果有任何外键引用该表(包括禁用的约束),则无法截断该表。您需要删除外键约束或使用 DELETE
命令。
关于sql-server - 禁用外键约束,仍然无法截断表? (SQL Server 2005),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3843806/