【问题标题】:Unable to TRUNCATE table even when no child records exists [duplicate]即使不存在子记录也无法截断表[重复]
【发布时间】:2015-01-26 19:23:47
【问题描述】:

我正在尝试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' 并且它们都已成功截断,但在此表上我仍然收到此错误。

我怎样才能放手,最好不要放弃约束?

【问题讨论】:

标签: sql-server sql-server-2012


【解决方案1】:

Truncate 的限制(来源:MSDN

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

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

因此,如果表被外键引用,则不能对表使用截断命令

【讨论】:

    【解决方案2】:

    写下来

     show create table TABLENAME
    

    这将向您显示所有表架构,检查您创建的约束,将其删除并删除。

    【讨论】:

      猜你喜欢
      • 2013-04-02
      • 1970-01-01
      • 1970-01-01
      • 2022-08-12
      • 2018-10-19
      • 2011-08-20
      • 2018-08-14
      • 1970-01-01
      • 2022-01-08
      相关资源
      最近更新 更多