आइए समझते हैं कि MySQL में AUTO_INCREMENT कॉलम के साथ कैसे काम करें -
AUTO_INCREMENT विशेषता का उपयोग नई पंक्तियों के लिए एक विशिष्ट पहचान बनाने के लिए किया जाता है। आइए देखें कि यह कथन कैसे काम करता है। इससे पहले, नीचे दी गई क्वेरी पर विचार करें -
क्वेरी
CREATE TABLE tableName ( id MEDIUMINT NOT NULL AUTO_INCREMENT, name CHAR(30) NOT NULL, PRIMARY KEY (id) ); INSERT INTO tableName (name) VALUES (‘val1’),('val2'),('val3'), ('val4'); SELECT * FROM tableName;
आउटपुट
+----+---------+ | id | name | +----+---------+ | 1 | val1 | | 2 | val2 | | 3 | val3 | | 4 | val4 | +----+---------+
उपरोक्त क्वेरी में, 'AUTO_INCREMENT' कॉलम के लिए कोई मान निर्दिष्ट नहीं किया गया था, इसलिए MySQL ने 'id' कॉलम को स्वचालित रूप से संख्याओं का एक क्रम सौंपा। 0 का मान भी स्पष्ट रूप से निर्दिष्ट किया जा सकता है ताकि संख्या अनुक्रम 0 से शुरू हो। यह तभी किया जा सकता है जब 'शून्य पर कोई ऑटो मान नहीं' SQL मोड सक्षम नहीं है।
यदि किसी कॉलम को '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 कॉलम में NOT NULL बाधा होनी चाहिए।
-
जब AUTO_INCREMENT विशेषता को एक कॉलम पर सेट किया जाता है, तो MySQL अपने आप ही कॉलम में NOT NULL बाधा जोड़ देता है।