如何解决"表'dbo.Foo'已经存在." 表不存在时出错?

use*_*702 41 sql-server ssms

我创建了一张桌子然后意识到我犯了一个错误.SSMS不会让我更新表而不重新创建它,所以我删除了表,然后尝试再次创建它.

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

表'dbo.Foo'已经存在.

所以我尝试再次删除它:

drop table dbo.Foo
Run Code Online (Sandbox Code Playgroud)

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

刷新IntelliSense缓存没有帮助.

use*_*702 90

关闭并重新启动SSMS似乎是摆脱错误的唯一方法.完成后,我可以再次成功创建表.

  • 3年后,问题仍然存在......为什么这个bug还没有解决? (13认同)
  • 重新启动SSMS为我工作+1 (5认同)
  • 2022年了,还是不行…… (4认同)
  • 它仍然存在于SSMS 2016中 (3认同)
  • 是的。2017年,依然在这里。这是唯一有效的答案。迫不及待地想切换到mysql。 (2认同)
  • 现在是 2020 年。我只是花了几个浪费的时间试图找出为什么我无法重新创建表格。感谢您的回答!现在,我想问 M$ 实际情况(嘟嘟声)是什么,但他们似乎正忙于部署损坏的 Windows 10 更新。也许再过5年? (2认同)

小智 10

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


小智 8

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


Jaf*_*avi 6

若要更改此设置,请在" 工具"菜单上单击" 选项",再展开" 设计器",然后单击" 表和数据库设计器".选中或清除" 禁止保存需要重新创建表的更改"复选框.


Sru*_*Suk 5

我发现您只需要关闭SSMS的所有“删除表” TAB即可