MySQL में सीक्वेंस क्या है?
MySQL में, एक सीक्वेंस इंटीजर्स की एक सूची को संदर्भित करता है जो आरोही क्रम में 1 से शुरू होकर या 0 से यदि निर्दिष्ट किया गया हो, उत्पन्न होती है। कई एप्लिकेशन को सीक्वेंस की आवश्यकता होती है जिनका उपयोग विशेष रूप से पहचान के लिए अद्वितीय संख्या उत्पन्न करने के लिए किया जाएगा।
उदाहरण
उदाहरणों में CRM में कस्टमर ID, HR में कर्मचारी नंबर, और सर्विस मैनेजमेंट सिस्टम में उपकरण नंबर शामिल हैं।
MySQL में स्वचालित रूप से सीक्वेंस बनाने के लिए, एक कॉलम के लिए AUTO_INCREMENT विशेषता सेट करने की आवश्यकता होती है। यह आमतौर पर एक प्राथमिक कुंजी कॉलम होगा।
नियम
AUTO_INCREMENT विशेषता का उपयोग करते समय निम्नलिखित नियमों का पालन करने की आवश्यकता है:
प्रत्येक टेबल में केवल एक AUTO_INCREMENT कॉलम होता है जिसका डेटा प्रकार आमतौर पर एक पूर्णांक होता है।
AUTO_INCREMENT कॉलम को इंडेक्स किया जाना चाहिए। इसका मतलब है कि यह या तो PRIMARY KEY या UNIQUE इंडेक्स हो सकता है।
AUTO_INCREMENT कॉलम पर NOT NULL कंस्ट्रेंट होना चाहिए।
जब AUTO_INCREMENT विशेषता किसी कॉलम पर सेट की जाती है, तो MySQL स्वचालित रूप से उस कॉलम पर NOT NULL कंस्ट्रेंट जोड़ देता है।
MySQL सीक्वेंस बनाएं
आइए MySQL सीक्वेंस बनाने का एक उदाहरण देखें:
CREATE TABLE tableName (
emp_no INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50)
)
आइए समझते हैं कि AUTO_INCREMENT कॉलम कैसे काम करता है:
AUTO_INCREMENT कॉलम का प्रारंभिक मान आमतौर पर 1 होता है। जब कॉलम में NULL मान डाला जाता है या जब INSERT स्टेटमेंट में मान छोड़ा जाता है तो यह 1 से बढ़ जाता है।
अंतिम उत्पन्न अनुक्रम संख्या प्राप्त करने के लिए, LAST_INSERT_ID() फंक्शन का उपयोग किया जा सकता है।
अंतिम उत्पन्न अनुक्रम सेशन में अद्वितीय होता है।
यदि कोई अन्य कनेक्शन अनुक्रम संख्या उत्पन्न करता है, तो इसे LAST_INSERT_ID() फंक्शन का उपयोग करके प्राप्त किया जा सकता है।
यदि एक नई रो टेबल में डाली जाती है और अनुक्रम कॉलम के लिए एक मान निर्दिष्ट किया जाता है, तो MySQL अनुक्रम संख्या डालना सुनिश्चित करता है यदि अनुक्रम संख्या कॉलम में मौजूद नहीं है।