即使没有子记录,也无法TRUNCATE表

时间:2014-11-28 06:59:43

标签: sql-server sql-server-2012

我正在尝试TRUNCATE一张桌子,但我收到了这个错误:

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'并且它们都被成功截断但是在这个表上我仍然收到此错误。

我怎样才能放手,理想情况下不会减少约束?

2 个答案:

答案 0 :(得分:2)

Truncate 的限制(来源: MSDN

您不能在以下表格上使用TRUNCATE TABLE

  1. FOREIGN KEY约束引用。 (你可以截断一个 具有引用自身的外键的表。)
  2. 参与索引视图。
  3. 使用事务复制或合并发布 复制。
  4. 因此,如果由外键引用

    ,则不能对表使用truncate命令

答案 1 :(得分:1)

记下

 show create table TABLENAME

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