我有一个像这样创建的表:
CREATE TABLE dbo.XX (
YY int DEFAULT(NULL)
)
Run Code Online (Sandbox Code Playgroud)
如果执行此操作,然后稍后对表进行编写脚本,则将获得以下代码以及随机命名的默认约束:
CREATE TABLE [dbo].XX([YY] [int] NULL)
GO
ALTER TABLE [dbo].XX ADD DEFAULT (NULL) FOR [YY]
GO
Run Code Online (Sandbox Code Playgroud)
现在,DEFAULT (NULL)在列上指定而不是仅仅将其保留[YY] [int] NULL在第一位是否有任何实际意义?
Ode*_*ded 18
无需添加DEFAULT(NULL)可空列.
如果未向这些列提供数据,则它们将具有NULL.
我看到的唯一好处是Larry Lustig在他对这个问题的评论中发布的一个好处- 它记录了你没有忘记在可空列中添加默认值的事实.
没有我能想到的.
INSERT INTO [dbo].XX([YY]) VALUES (DEFAULT)
INSERT INTO [dbo].XX([YY]) DEFAULT VALUES
Run Code Online (Sandbox Code Playgroud)
两种方式都一样.