如何向表中添加多个列并在其中一个上添加默认约束?

Ela*_*nda 28 sql t-sql sql-server

我想在现有表中添加2个新列.

其中一个应该是NOT NULL默认值0 (也填充现有的行).

我尝试了以下语法:

Alter TABLE dbo.MamConfiguration
    add [IsLimitedByNumOfUsers] [bit]  NOT NULL,
    CONSTRAINT IsLimitedByNumOfUsers_Defualt [IsLimitedByNumOfUsers] DEFAULT 0
    [NumOfUsersLimit] [int] NULL
go
Run Code Online (Sandbox Code Playgroud)

但它抛出异常.我该怎么写呢?

Isw*_*San 48

你可以用这个:

ALTER TABLE dbo.MamConfiguration
ADD [IsLimitedByNumOfUsers] [BIT] NOT NULL DEFAULT 0,   
    [NumOfUsersLimit] [INT] NULL
GO
Run Code Online (Sandbox Code Playgroud)

或这个:

ALTER TABLE dbo.MamConfiguration
ADD [IsLimitedByNumOfUsers] [BIT] NOT NULL 
        CONSTRAINT IsLimitedByNumOfUsers_Default DEFAULT 0,
    [NumOfUsersLimit] [INT] NULL
go
Run Code Online (Sandbox Code Playgroud)

更多:ALTER TABLE

  • 我总是建议选项#2 - 给你的约束*明确的名字* - 如果你以后需要删除它们会更容易! (5认同)

Pra*_*iar 6

试试这个.

ALTER TABLE dbo.MamConfiguration  
ADD [IsLimitedByNumOfUsers] [bit]  NOT NULL DEFAULT 0,     
[NumOfUsersLimit] [int] NULL  
Run Code Online (Sandbox Code Playgroud)