是否有理由在可空列上指定DEFAULT(NULL)?

时间:2011-09-23 18:51:53

标签: sql-server tsql

我最初创建的表格如下:

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放在第一位是否有任何意义?

2 个答案:

答案 0 :(得分:17)

无需将DEFAULT(NULL)添加到可为空的列中。

如果未向此类列提供数据,则它们将具有NULL

我看到的唯一好处是Larry Lustig在他对该问题的评论中发布的一个好处 - 它记录了您没有忘记在可空列中添加默认值的事实。

答案 1 :(得分:6)

我无法想到。

INSERT INTO [dbo].XX([YY])  VALUES (DEFAULT)

INSERT INTO [dbo].XX([YY])  DEFAULT VALUES 

以同样的方式工作。