【问题标题】:Impact of adding a Nullable Column to an existing table将 Nullable 列添加到现有表的影响
【发布时间】:2012-04-20 19:44:11
【问题描述】:

我将向现有表添加一个可为空的列。有哪些可能的影响以及如何避免?

我打算留意 SELECT *。 还有什么要注意的?

【问题讨论】:

  • 其含义类似于具有默认值的不可为空的列(除了显而易见的 - 新列返回值而不是空值)
  • 至于“选择 *”,您还可以有“插入表值”语句而无需列规范

标签: sql-server ddl


【解决方案1】:

也取决于列的位置,如果您正在这样做:

INSERT INTO <table> SELECT * 

那么您可能将数据插入到错误的列中。

【讨论】:

    【解决方案2】:

    作为查询的一部分返回的可能已经具有相同列名的联接可能会成为问题。

    例如,假设我们有一个表“Client”,其中有一列“ZipCode”,还有一个名为“Contractor”的表,您可以在其中添加“ZipCode”。具体来说,如果已编写查询以“按 ZipCode 排序”连接两个表,则 ZipCode 不明确。您的查询现在将失败。 "order by Client.ZipCode" 可以避免这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-13
      • 2017-02-15
      • 1970-01-01
      • 2017-12-07
      • 1970-01-01
      • 2010-11-17
      相关资源
      最近更新 更多