sql server中默认约束“with values”的问题

问题描述 投票:0回答:1

我开始知道在Sql Server中我们有WITH VALUES,它在NULL列中使用默认约束内的指定值设置数据。但我的查询不是在列中已设置NULL的值,即使我使用WITH VALUES,如果我错了请更正查询。我的疑问是

GO
CREATE TABLE [dbo].[DefaultTest]
(
    [id] [int] NULL
) 
GO
INSERT INTO [dbo].[DefaultTest]
SELECT NULL
GO
ALTER TABLE [dbo].[DefaultTest] 
ADD  CONSTRAINT [con_Test]  DEFAULT 1 FOR [id]
WITH VALUES
GO
SELECT * FROM [DefaultTest]
GO
DROP TABLE [DefaultTest]

在执行查询时,我注意到该列仍然只包含NULL而不是1。

sql-server default-constraint
1个回答
0
投票

MSDN

添加新列时会使用[WITH VALUES],它应该有一些值。如果不通过[ALTER]运算符添加新列,则将忽略[WITH VALUES]选项。

如果在没有添加相关列时使用它,则它不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.