28

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

其中之一应NOT NULL具有默认值0 (也填写现有行)。

我尝试了以下语法:

Alter TABLE dbo.MamConfiguration
    add [IsLimitedByNumOfUsers] [bit]  NOT NULL,
    CONSTRAINT IsLimitedByNumOfUsers_Defualt [IsLimitedByNumOfUsers] DEFAULT 0
    [NumOfUsersLimit] [int] NULL
go

但它抛出异常。我应该怎么写?

4

3 回答 3

51

你可以使用这个:

ALTER TABLE dbo.MamConfiguration
ADD [IsLimitedByNumOfUsers] [BIT] NOT NULL DEFAULT 0,   
    [NumOfUsersLimit] [INT] NULL
GO

或这个:

ALTER TABLE dbo.MamConfiguration
ADD [IsLimitedByNumOfUsers] [BIT] NOT NULL 
        CONSTRAINT IsLimitedByNumOfUsers_Default DEFAULT 0,
    [NumOfUsersLimit] [INT] NULL
go

更多:更改表

于 2013-03-03T10:59:57.277 回答
6

试试这个。

ALTER TABLE dbo.MamConfiguration  
ADD [IsLimitedByNumOfUsers] [bit]  NOT NULL DEFAULT 0,     
[NumOfUsersLimit] [int] NULL  
于 2013-03-03T11:05:47.570 回答
0

要将多个列添加到表中并在其中一个上添加默认约束 -

ALTER TABLE dbo.MamConfiguration
ADD [IsLimitedByNumOfUsers] [BIT] CONSTRAINT Def_IsLimitedByNumOfUsers DEFAULT(0) NOT NULL,   
    [NumOfUsersLimit] [INT] NULL;
GO
于 2020-01-18T11:25:09.457 回答