2013-03-03 7 views
25

मैं मौजूदा तालिका में 2 नए कॉलम जोड़ना चाहता हूं।किसी तालिका में एकाधिक कॉलम कैसे जोड़ें और उनमें से एक पर डिफ़ॉल्ट बाधा जोड़ें?

उनमें से एक डिफ़ॉल्ट मान (और साथ ही मौजूदा पंक्तियों में भरा) के साथ NOT NULL होना चाहिए।

मैं निम्न सिंटैक्स की कोशिश की है:

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

लेकिन यह अपवाद फेंकता है। मुझे इसे कैसे लिखना चाहिए?

उत्तर

41

आप इस का उपयोग कर सकते हैं:

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

+5

मैं हमेशा विकल्प # 2 की सिफारिश करता हूं - अपनी बाधाएं * स्पष्ट नाम * दें - यदि आपको बाद में उन्हें छोड़ना है तो इसे बहुत आसान बनाता है! –

+1

@marc_s: हाँ, मैं दृढ़ता से आपसे सहमत हूं! –

6

इस प्रयास करें।

ALTER TABLE dbo.MamConfiguration 
ADD [IsLimitedByNumOfUsers] [bit] NOT NULL DEFAULT 0,  
[NumOfUsersLimit] [int] NULL 
संबंधित मुद्दे

 संबंधित मुद्दे