【问题标题】:How can I resolve the "Table 'dbo.Foo' already exists." error when the table does not exist?如何解决“表 'dbo.Foo' 已存在”。表不存在时出错?
【发布时间】:2013-10-31 09:29:23
【问题描述】:

我创建了一个表,然后意识到我犯了一个错误。 SSMS 不允许我在不重新创建表的情况下更新表,因此我删除了表,然后尝试重新创建。

它不允许我这样做,我得到一个错误对话框

表 'dbo.Foo' 已经存在。

所以我再次尝试删除它:

drop table dbo.Foo

无法删除表“dbo.Foo”,因为它不存在或您没有权限。

刷新 IntelliSense 缓存没有帮助。

【问题讨论】:

    标签: sql-server ssms


    【解决方案1】:

    关闭并重新启动 SSMS 似乎是摆脱错误的唯一方法。这样做之后,我又可以成功创建表了。

    【讨论】:

    • 3年过去了,问题依旧……为什么那个bug还没解决?
    • 在 SSMS 2016 中仍然存在
    • 是的。 2017,还在。这是唯一有效的答案。迫不及待地切换到mysql。
    • SSMS v18.3 中仍然存在这个错误
    • 现在是 2020 年。我浪费了几个小时试图弄清楚为什么我无法重新创建表。感谢您的回答!现在,我想问 M$ 实际(哔)已经是什么了,但他们似乎已经忙于部署损坏的 Windows 10 更新。也许再过 5 年?
    【解决方案2】:

    使用任何其他名称创建表,然后重命名它可以正常工作。服务器刷新对我不起作用。不过,您可以尝试重新启动 Management Studios。

    【讨论】:

    • 你刚刚在周末帮我省了很多脏话 :) 谢谢!
    • 为我工作!比完全重新启动 SSMS 和丢失新表规范要求您重新开始更好/更快。
    【解决方案3】:

    我遇到了同样的问题。右键单击您的服务器连接并选择“刷新”。我这样做了,并且能够在不重新启动 SSMS 的情况下保存重新创建的表。

    【讨论】:

      【解决方案4】:

      要更改此设置,请在 工具 菜单上点击 选项,展开 Designers,然后点击 Table and Database Designers。选中或清除防止保存需要重新创建表的更改复选框。

      【讨论】:

      • 我应该补充一点,对于生产环境或使用预先存在的数据编辑数据库,这不是一个安全的选择。但我不会撒谎 - 它解决了问题!
      【解决方案5】:

      我发现您只需要从 SSMS 中关闭所有“删除表”选项卡即可完成

      【讨论】:

        【解决方案6】:

        确保您没有未保存的表格更改(最好关闭所有制表符并重试)

        【讨论】:

          【解决方案7】:

          右键单击服务器,单击刷新并重试!对我来说就像一个魅力。希望同样适用于您。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2022-11-05
            • 1970-01-01
            • 2021-11-07
            • 2019-10-07
            • 1970-01-01
            • 1970-01-01
            • 2015-08-24
            • 1970-01-01
            相关资源
            最近更新 更多