回答

收藏

如何将多个列添加到一个表,并在其中之一上添加默认约束?

技术问答 技术问答 208 人阅读 | 0 人回复 | 2023-09-14

我想向现有表中添加2个新列。- T3 u3 m) _( c- k; S% Q4 G! b
其中之一应NOT NULL具有默认值 0 (也应填写在现有行中)。$ {' g6 I: A9 z, l7 V, L
我尝试了以下语法:
; F, \4 q& y( ?: z* a4 a. w$ |6 ZAlter TABLE dbo.MamConfiguration
+ b7 r! B4 T: _/ X% u; `7 M    add [IsLimitedByNumOfUsers] [bit]  NOT NULL,( d" ?5 o1 J. r. n( j9 V
    CONSTRAINT IsLimitedByNumOfUsers_Defualt [IsLimitedByNumOfUsers] DEFAULT 06 c4 h& c2 ]$ r# v4 B: a
    [NumOfUsersLimit] [int] NULL6 h6 f# m  n4 Y6 g4 \1 D' b
go
0 L3 k2 o2 z8 Q6 K' A9 e1 P但这会引发异常。我应该怎么写?6 Z) |$ T( D$ r# a6 O
               
; q8 P' U& K' U8 n; b4 ?解决方案:
8 T  a/ T* Y4 _7 E& B               
: k( d3 v3 M2 W' j( N
* X4 N- F5 V4 `& a( b0 T
4 q! G- ]% G9 Y' P( N# `                您可以使用此:
* y* O. P' Z4 O4 r7 X9 j( F2 A) @ALTER TABLE dbo.MamConfiguration$ E6 D5 c6 k$ f4 j
ADD [IsLimitedByNumOfUsers] [BIT] NOT NULL DEFAULT 0,   , a0 N5 J' D6 F& }% P$ Y
    [NumOfUsersLimit] [INT] NULL
& m& s: Z* h6 v4 A4 w+ YGO
! f- V9 u3 K/ K' q或这个:
& b- n' W2 x: }7 l5 o7 |1 sALTER TABLE dbo.MamConfiguration
% I) B; s, T, F1 L1 F! KADD [IsLimitedByNumOfUsers] [BIT] NOT NULL
# W% r+ C- {4 A" M, {0 x        CONSTRAINT IsLimitedByNumOfUsers_Default DEFAULT 0,/ _! u( ?9 j8 K8 m; K
    [NumOfUsersLimit] [INT] NULL' A2 ^$ b( Q2 L5 ?; A% n
go
2 F* j& H& n' ?" T) _% N更多:ALTER TABLE
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则