【问题标题】:Need steps for Alter the table需要更改表格的步骤
【发布时间】:2010-01-21 20:12:20
【问题描述】:

每当我对 SSMS 中的表结构进行更改时,都会发出警报:

不允许保存更改。您对下表所做的更改将被删除并重新创建..

【问题讨论】:

  • 什么情况下?显示一些代码?
  • 向我们展示您目前在做什么,以便我们让您知道您做错了什么。

标签: sql-server alter-table


【解决方案1】:

某些更改会导致表被删除并重新创建。一个这样的例子是将一列添加到表格的中间而不是末尾。

你可以做以下两件事之一:

选项 1

使用 TSQL 进行更改并将列添加到末尾(或特定编辑的等效非 table-drop 选项)

选项 2

更改 SSMS 的默认行为(警告 - 这在生产环境中是一件非常危险的事情)

打开 SQL Server 2008 Management Studio (SSMS)。在菜单中,转到工具/选项。在 Navigation 窗格中,展开 Designers,然后选择“Table and Database Designers”。

在表格选项下,取消选中“防止保存需要重新创建表格的更改”选项,然后单击确定。

【讨论】:

  • 注意,这个错误出现在 SSMS 的默认安装中。原因之一是外键关系在此过程中被丢弃。如果由于某种原因保存失败,则不会重新创建这些外键。因此,您最终会得到一个与您认为的完全不同的架构。
【解决方案2】:

当您所做的更改可能可能导致数据被截断时,我经常看到这类消息。因此,如果您将 nvarchar(20) 更改为 nvarchar(10),就会出现这种情况。该列是否只包含 2 个字符长的数据并不重要,它只查看数据类型。该消息可能还有其他原因和其他风格,但大多数情况下它们遵循相同的推理:如果更改会导致表在其可以保存的数据中受到更多限制,那么它想要进行彻底的手术。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-25
    • 2016-05-30
    • 1970-01-01
    • 2019-09-22
    • 2017-08-11
    • 1970-01-01
    • 2016-11-28
    • 1970-01-01
    相关资源
    最近更新 更多