का उपयोग करना:
ALTER TABLE [your table name here] AUTO_INCREMENT = 1
... auto_increment मान रीसेट जाएगा उच्चतम मौजूदा तालिका में मौजूदा मूल्य के आधार पर अगले किया जाना है। इसका मतलब है कि इसका इस्तेमाल एक से अधिक के अंतराल को सही करने के लिए नहीं किया जा सकता है।
ऐसा करने का एकमात्र कारण कॉस्मेटिक लोगों के लिए होगा - डेटाबेस की परवाह नहीं है अगर रिकॉर्ड अनुक्रमिक हैं, केवल वे एक-दूसरे से लगातार संबंधित हैं। डेटाबेस के लिए मानों को "सही" करने की कोई आवश्यकता नहीं है।
यदि आप उपयोगकर्ता को id
मान प्रदर्शित कर रहे हैं, तो यही कारण है कि आप उन्हें हमेशा अनुक्रमिक होना चाहते हैं, तो मैं एक सरोगेट कुंजी जोड़ने की अनुशंसा करता हूं। उपयोगकर्ता को प्रदर्शित करने के लिए सरोगेट कुंजी का उपयोग करें, इसलिए मूल्यों को आवश्यकतानुसार फिर से अनुक्रमित किया जा सकता है लेकिन संदर्भ संबंधी अखंडता अन्यथा अप्रभावित है। इस मामले में सरोगेट कुंजी एक पूर्णांक स्तंभ होगा।
स्रोत
2010-02-18 02:49:55
आप ऐसा क्यों करना चाहते हैं? –
क्योंकि मैं पंक्तियों (लिंक) के नाम के रूप में 'आईडी' का उपयोग करता हूं। तो मैं इन नामों को नहीं चाहता हूं उदाहरण के लिए 5 से 23 तक कूदने के लिए एक बड़ा छेद छोड़ना। – ajsie
इसके लिए अपनी पहचान का उपयोग न करें। डिस्प्ले के दौरान अपनी पंक्तियों का नाम दें, इस तरह आप दृश्य डेटाबेस संख्या को आंतरिक डेटाबेस कुंजी से अलग करते हैं। – Joe