2012-02-23 19 views
34

मेरे पास बड़ी मात्रा में डेटा वाला एक टेबल है। मैं अतिरिक्त कॉलम id जोड़ना चाहता हूं और इसे प्राथमिक कुंजी के रूप में उपयोग करना चाहता हूं। इस कॉलम को 1 से row countएसक्यूएल सर्वर: नए पहचान कॉलम को जोड़ने और आईडी के साथ कॉलम पॉप्युलेट कैसे करें?

वर्तमान में मैं कर्सर का उपयोग कर रहा हूं और पंक्तियों को एक-एक करके अपडेट कर रहा हूं। इसमें घंटों लगते हैं। क्या ऐसा करने का कोई तरीका है?

धन्यवाद

उत्तर

85

बस इसे इस तरह कार्य करें:

ALTER TABLE dbo.YourTable 
ADD ID INT IDENTITY(1,1) 

और स्तंभ बनाया जाएगा और स्वचालित रूप से पॉप्युलेट integer मूल्यों के साथ (के रूप में हारून बर्ट्रेंड उनकी टिप्पणी में बताते हैं - तुम नहीं इस पर कोई नियंत्रण है कि कौन सी पंक्ति प्राप्त करती है - SQL सर्वर स्वयं को संभालता है और आप इसे प्रभावित नहीं कर सकते हैं। लेकिन सभी पंक्तियों को वैध int मान मिलेगा - कोई NULL या डुप्लिकेट मान नहीं होगा)।

इसके बाद, प्राथमिक कुंजी के रूप में सेट:

ALTER TABLE dbo.YourTable 
ADD CONSTRAINT PK_YourTable PRIMARY KEY(ID) 
+2

+1, लेकिन मुझे आशा है कि ओपी नाम यह कुछ और वर्णनात्मक तो '' ID' WidgetID' की तरह, आदि –

+0

@KM: स्लिम आशा - वह वास्तव में उनके प्रश्न में उल्लेख किया गया कि वह 'id' :-) –

+17

जोड़ना चाहता हूं, मैं आईडी पसंद करता हूं। WidgetID एक विदेशी कुंजी की तरह लगता है। तो मुझे उम्मीद है कि वह –

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