SQL server 解决删除数据时有外键约束的限制
我们在日常的开发过程中,难免需要在开发数据库中清理数据,但是有时会遇到表与表之间有外键的约束,而不能顺利删除数据。如果只是两三张表还容易解决,如果有十几张表互相有外键关联,而你又想快速删除数据。可以参考这里:
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL' EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL'
之后你就可以随意删除数据,而不用考虑外键和触发器约束问题。但删除完数据,记得恢复约束
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL' EXEC sp_MSForEachTable 'ALTER TABLE ? ENABLE TRIGGER ALL'

浙公网安备 33010602011771号