AUTO_INCREMENT विशेषता का उपयोग नई पंक्तियों के लिए एक विशिष्ट पहचान बनाने के लिए किया जाता है। यदि किसी कॉलम को 'NOT NULL' घोषित किया जाता है, तो संख्याओं का एक क्रम उत्पन्न करने के लिए उस कॉलम को NULL असाइन करना संभव है।
जब कोई मान AUTO_INCREMENT कॉलम में डाला जाता है, तो कॉलम उस मान पर सेट हो जाता है, और अनुक्रम भी रीसेट हो जाता है ताकि यह सबसे बड़े कॉलम मान से अनुक्रमिक श्रेणी में स्वचालित रूप से मान उत्पन्न कर सके।
एक मौजूदा 'AUTO_INCREMENT' कॉलम को अपडेट किया जा सकता है जो 'AUTO_INCREMENT' क्रम को भी रीसेट कर देगा। सबसे हाल ही में स्वतः उत्पन्न 'AUTO_INCREMENT; SQL में 'LAST_INSERT_ID ()' फ़ंक्शन का उपयोग करके या 'mysql_insert_id ()' का उपयोग करके मूल्य पुनर्प्राप्त किया जा सकता है जो एक सी एपीआई फ़ंक्शन है।
ये फ़ंक्शन कनेक्शन-विशिष्ट हैं, जिसका अर्थ है कि उनके रिटर्न मान अन्य कनेक्शनों से प्रभावित नहीं होते हैं जो सम्मिलित संचालन करते हैं। 'AUTO_INCREMENT' कॉलम के लिए सबसे छोटे पूर्णांक डेटा प्रकार का उपयोग किया जा सकता है, जो उपयोगकर्ता द्वारा आवश्यक अधिकतम अनुक्रम मान रखने के लिए पर्याप्त होगा।
AUTO_INCREMENT के नियम
AUTO_INCREMENT विशेषता का उपयोग करते समय निम्नलिखित नियमों का पालन करने की आवश्यकता है -
-
प्रत्येक तालिका में केवल एक AUTO_INCREMENT कॉलम होता है जिसका डेटा प्रकार आमतौर पर एक पूर्णांक होगा।
-
AUTO_INCREMENT कॉलम को अनुक्रमित करने की आवश्यकता है। इसका मतलब है कि यह या तो प्राथमिक कुंजी या अद्वितीय अनुक्रमणिका हो सकती है।
-
AUTO_INCREMENT कॉलम में NOT NULL बाधा होनी चाहिए।
-
जब AUTO_INCREMENT विशेषता को एक कॉलम पर सेट किया जाता है, तो MySQL अपने आप कॉलम में NOT NULL बाधा को अपने आप जोड़ देता है।
यदि तालिका में कोई आईडी कॉलम नहीं जोड़ा गया है, तो नीचे दिए गए कथन का उपयोग किया जा सकता है -
<पूर्व>तालिका तालिका का नाम बदलें आईडी जोड़ें INT अहस्ताक्षरित नहीं पूर्ण AUTO_INCREMENT, ADD INDEX (id);यदि कोई आईडी कॉलम पहले से मौजूद है, तो नीचे दिए गए कमांड का उपयोग किया जा सकता है -
<पूर्व>तालिका तालिका का नाम बदलें AUTO_INCREMENT=specificValue;यहाँ, tableName उस तालिका के नाम को संदर्भित करता है जिसे 'AUTO_INCREMENT' कॉलम को सेट करने की आवश्यकता है। 'विशिष्ट वैल्यू' एक पूर्णांक को संदर्भित करता है जहां से 'AUTO_INCREMENT' मान शुरू करने के लिए उपयोगकर्ता द्वारा निर्दिष्ट किए जाते हैं।