28

既存のテーブルに 2 つの新しい列を追加したいと考えています。

NOT NULLそのうちの 1 つはデフォルト値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

詳細: ALTER TABLE

于 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 に答える