因为FOREIGN KEY约束正在引用表,所以无法截断它?

使用MSSQL2005,如果我先截断子表(具有FK关系主键的表),是否可以截断具有外键约束的表?


我知道我可以


使用DELETE无where子句,然后RESEED使用标识(或)

删除FK,截断表,然后重新创建FK。

我以为只要我在父表之前将子表截断,就可以不做上述任何一个选择,但是我会收到此错误:


无法截断表'TableName',因为它已被FOREIGN KEY约束引用。


MMTTMM
浏览 683回答 3
3回答

HUH函数

正确; 您不能截断具有FK约束的表。通常,我的处理过程是:摆脱约束Trunc表重新创建约束。(当然,这全都在交易中。)当然,这仅在孩子已被截断的情况下适用。否则,我会走另一条路,完全取决于我的数据。(这里有太多变量。)

慕的地6264312

DELETE FROM TABLENAMEDBCC CHECKIDENT ('DATABASENAME.dbo.TABLENAME',RESEED, 0)请注意,如果您拥有数百万条记录,这可能不是您想要的,因为它非常慢。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server