我最初创建的表格如下:
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
放在第一位是否有任何意义?
答案 0 :(得分:17)
无需将DEFAULT(NULL)
添加到可为空的列中。
如果未向此类列提供数据,则它们将具有NULL
。
我看到的唯一好处是Larry Lustig在他对该问题的评论中发布的一个好处 - 它记录了您没有忘记在可空列中添加默认值的事实。
答案 1 :(得分:6)
我无法想到。
INSERT INTO [dbo].XX([YY]) VALUES (DEFAULT)
INSERT INTO [dbo].XX([YY]) DEFAULT VALUES
以同样的方式工作。