我最初创建了一个这样的表:
CREATE TABLE dbo.XX ( YY int DEFAULT(NULL) )
如果你这样做,然后再脚本表,你会得到以下代码,加上一个随机命名的默认约束:
CREATE TABLE [dbo].XX([YY] [int] NULL) GO ALTER TABLE [dbo].XX ADD DEFAULT (NULL) FOR [YY] GO
现在在列上指定DEFAULT(NULL)有什么意义,而不是首先将它保留为[YY] [int] NULL?
解决方法
没有必要向可空列添加DEFAULT(NULL).
如果数据未提供给这些列,则它们将具有NULL.
我看到的唯一好处是Larry Lustig在他的评论中发布了这个问题 – 它记录了你没有忘记添加一个默认值为null的列.