关于sql server:即使没有子记录,也无法TRUNCATE表

Unable to TRUNCATE table even when no child records exists

本问题已经有最佳答案,请猛点这里访问。

我正在尝试TRUNCATE一个表,但我收到此错误:

1
Cannot truncate a table 'ALOT_OF_USELESS_LOGS' because it is being referenced by a FOREIGN KEY constraint.

但是,我已经截断了引用它的所有表EXEC sp_fkeys 'ALOT_OF_USELESS_LOGS'并且它们都被成功截断但是在这个表上我仍然收到此错误。

我怎么能放手,理想情况下不会减少限制?


Truncate的限制(来源:MSDN)

您不能在表上使用TRUNCATE TABLE

  • 由FOREIGN KEY约束引用。 (你可以截断一个
    具有引用自身的外键的表。)
  • 参与索引视图。
  • 使用事务复制或合并发布
    复制。
  • 因此,如果由外键引用,则不能对表使用truncate命令


    写下来

    1
     show create table TABLENAME

    这将显示所有表模式,检查您创建的约束,删除它并删除它。