2012-12-13 24 views
27

में ऑटोइनक्रिकमेंट रीसेट करें मैंने ऑटोइनक्रिएटमेंट होने के लिए प्राथमिक कुंजी बनाई है।माइक्रोसॉफ्ट एसक्यूएल सर्वर 2008 आर 2

  • मैं दो पंक्तियों कहा: ID=1, ID=2
  • मैं इन दो पंक्तियों को नष्ट कर दिया।
  • मैं एक नई पंक्ति जोड़ा है, लेकिन नई पंक्ति की आईडी था: ID=3

मैं कैसे रीसेट या 1 के लिए autoincrement को पुनः आरंभ कर सकते हैं?

उत्तर

49

आप DBCC CHECKIDENT आदेश का उपयोग करते हैं:

DBCC CHECKIDENT ("YourTableNameHere", RESEED, 1); 

लेकिन सावधानी से प्रयोग करें! - यह सिर्फ IDENTITY से 1 तक रीसेट करेगा - इसलिए आपके अगले आवेषणों को मान 1, फिर 2, और फिर 3 -> मिलेगा और आपके यहां 3 के पूर्व-मौजूदा मान के साथ संघर्ष होगा!

IDENTITY बस लगातार क्रम में संख्याओं को बाहर निकाल देता है - यह किसी भी तरह से सुनिश्चित नहीं करता कि कोई संघर्ष नहीं है! यदि आपके पास पहले से मूल्य हैं - को कम मूल्य पर वापस संशोधित किया गया है!

+0

मैं बताने के लिए, मैं प्रबंधन स्टूडियो का उपयोग कर रहा भूल गया, तो मैं reseed करना चाहते हैं यह प्रबंधन स्टूडियो – victorio

+3

@ victorio के साथ: बस एक नई क्वेरी विंडो खोलें और इस टी-एसक्यूएल कमांड को निष्पादित करें! –

+0

niiiice, बहुत बहुत धन्यवाद! – victorio

15

मैं SQL सर्वर 2012 उपयोग कर रहा हूँ और DBCC CHECKIDENT ("YourTableNameHere", RESEED, 1) अगले ही डालने पर 2 के एक मूल्य का कारण बनता है।

तो SQL सर्वर 2012 के लिए, 10 को बदलने के अपने अगले रिकॉर्ड डालने के लिए 1 के एक मूल्य प्राप्त करने के लिए:

DBCC CHECKIDENT ("YourTableNameHere", RESEED, 0); -- value will be 1 for the next record insert 
+0

यह ** SQL सर्वर 2008 R2 ** में काम करता है –