0

表的列中的默认值有什么意义?根据http://technet.microsoft.com/en-us/library/ms187872.aspx

您可以使用 SQL Server Management Studio 或 Transact-SQL 指定将在 SQL Server 2012 的列中输入的默认值。如果您未指定默认值并且用户将该列留空,则:

  • 如果您将选项设置为允许空值,则 NULL 将被插入到列中。
  • 如果您未设置允许空值的选项,则该列将保持空白,但用户将无法保存该行,直到他们为该列提供值。

我不明白!如果您确实不允许在列上使用空值,那么如果用户未提供,则它应该在该列中插入默认值。那为什么不呢?

4

1 回答 1

7

您一定错过了文档的一部分。

您可以使用 SQL Server Management Studio 或 Transact-SQL 指定将在 SQL Server 2012 的列中输入的默认值。 如果您没有指定默认值并且用户将该列留空,: 如果您设置选项以允许空值,则将在该列中插入 NULL。如果您未设置允许空值的选项,则该列将保持空白,但用户将无法保存该行,直到他们为该列提供值。

因此,如果您确实分配了默认值,那么当用户将该列留空时,它将用作分配。

“有点奇怪的事情”是文档首先解释了如果您不使用 DEFAULT 会发生什么(这可能不是您正在等待的:您想知道使用它时会发生什么) . 在我第一次“太快”阅读时也感到困惑。

于 2013-08-28T16:15:41.947 回答