"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > निर्माण तिथि के आधार पर MySQL तालिकाओं में एक सीरियल आईडी जोड़ना: एक चरण-दर-चरण मार्गदर्शिका

निर्माण तिथि के आधार पर MySQL तालिकाओं में एक सीरियल आईडी जोड़ना: एक चरण-दर-चरण मार्गदर्शिका

2024-11-09 को प्रकाशित
ब्राउज़ करें:966

Adding a Serial ID to MySQL Tables Based on Creation Date: A Step-by-Step Guide

जैसे-जैसे डेटाबेस बढ़ते और विकसित होते हैं, हमें अक्सर नए कॉलम जोड़ने या मौजूदा संरचनाओं को संशोधित करने की आवश्यकता महसूस होती है। एक सामान्य परिदृश्य मौजूदा तालिका में एक सीरियल आईडी जोड़ने की आवश्यकता है, खासकर जब हम चाहते हैं कि यह आईडी रिकॉर्ड निर्माण के कालानुक्रमिक क्रम को प्रतिबिंबित करे। इस ब्लॉग पोस्ट में, हम निर्माण तिथि कॉलम के अनुसार क्रमबद्ध एक MySQL तालिका में एक ऑटो-इंक्रीमेंटिंग सीरियल आईडी जोड़ने की प्रक्रिया के बारे में जानेंगे।

समस्या

कल्पना करें कि आपके MySQL डेटाबेस में उपयोगकर्ता नामक एक तालिका है। इस तालिका में पंजीकरण_दिनांक डेटाटाइम कॉलम सहित विभिन्न कॉलम हैं जो रिकॉर्ड करते हैं कि प्रत्येक उपयोगकर्ता कब पंजीकृत हुआ। अब, आप एक नया कॉलम user_serial_number जोड़ना चाहते हैं जो एक ऑटो-इंक्रीमेंटिंग पूर्णांक के रूप में कार्य करेगा, लेकिन आप चाहते हैं कि इन आईडी का प्रारंभिक असाइनमेंट पंजीकरण_दिनांक क्रम पर आधारित हो।

समाधान: तीन चरणों वाली प्रक्रिया

हम MySQL कमांड के संयोजन का उपयोग करके इसे प्राप्त कर सकते हैं। यहां चरण-दर-चरण प्रक्रिया दी गई है:

चरण 1: नया कॉलम जोड़ें

सबसे पहले, हमें अपनी तालिका में नया user_serial_number कॉलम जोड़ना होगा:

ALTER TABLE users ADD COLUMN user_serial_number INT;

यह कमांड हमारी उपयोगकर्ता तालिका में user_serial_number नामक एक नया पूर्णांक कॉलम जोड़ता है।

चरण 2: नया कॉलम भरें

अब जब हमारे पास अपना नया कॉलम है, तो हमें इसे पंजीकरण_दिनांक क्रम के आधार पर मानों से भरना होगा:

SET @row_number = 0;
UPDATE users 
SET user_serial_number = (@row_number:=@row_number   1)
ORDER BY registration_date;

आइए इसे तोड़ें:

  • हम एक वेरिएबल @row_number को 0 से प्रारंभ करते हैं।
  • फिर हम उपयोगकर्ता तालिका में सभी पंक्तियों को अद्यतन करते हैं, उपयोगकर्ता_सीरियल_नंबर को बढ़ते हुए मान पर सेट करते हैं।
  • पंजीकरण_दिनांक द्वारा ऑर्डर यह सुनिश्चित करता है कि आईडी पंजीकरण तिथि आदेश के आधार पर आवंटित की गई हैं।

चरण 3: ऑटो-इंक्रीमेंट सेट करें

आखिरकार, हमें भविष्य में प्रविष्टियों के लिए इस कॉलम को ऑटो-इंक्रीमेंटिंग के रूप में सेट करने की आवश्यकता है:

ALTER TABLE users 
MODIFY COLUMN user_serial_number INT AUTO_INCREMENT,
ADD PRIMARY KEY (user_serial_number);

यह कमांड user_serial_number कॉलम को ऑटो-इंक्रीमेंटिंग के लिए संशोधित करता है और इसे प्राथमिक कुंजी के रूप में सेट करता है।

महत्वपूर्ण विचार

  1. डिफ़ॉल्ट ऑर्डरिंग: डिफ़ॉल्ट रूप से, MySQL का ऑर्डर बाय क्लॉज आरोही क्रम (एएससी) में क्रमबद्ध होता है। इसका मतलब है कि पुराने रिकॉर्ड को कम सीरियल नंबर मिलेंगे, और नए रिकॉर्ड को अधिक नंबर मिलेंगे। यदि आप इसे उलटना चाहते हैं, तो आप चरण 2 में ORDER BY पंजीकरण_दिनांक DESC का उपयोग कर सकते हैं।

  2. फ्यूचर इंसर्ट्स: इस प्रक्रिया के बाद, नए रिकॉर्ड्स को उनके यूजर_सीरियल_नंबर के रूप में अगला उपलब्ध पूर्णांक मिलेगा, भले ही उनका रजिस्ट्रेशन_डेट मान कुछ भी हो। आदेश केवल कॉलम की प्रारंभिक जनसंख्या पर लागू होता है।

  3. प्राथमिक कुंजी: यदि user_serial_number को प्राथमिक कुंजी होने की आवश्यकता है (जैसा कि चरण 3 में है), तो user_serial_number में जोड़ने से पहले किसी भी मौजूदा प्राथमिक कुंजी को हटाना सुनिश्चित करें।

  4. प्रदर्शन: बड़ी तालिकाओं के लिए, यह ऑपरेशन समय लेने वाला हो सकता है और तालिका को लॉक कर सकता है। इसे ऑफ-पीक घंटों के दौरान चलाने पर विचार करें।

  5. विशिष्टता: सुनिश्चित करें कि आईडी असाइनमेंट प्रक्रिया के दौरान किसी भी संभावित समस्या से बचने के लिए पंजीकरण_दिनांक मान अद्वितीय हैं।

भविष्य के निवेशन के लिए आदेश बनाए रखना

यदि आप चाहते हैं कि भविष्य के इंसर्ट हमेशा पंजीकरण_दिनांक के आधार पर ऑर्डर बनाए रखें, तो आपको इस तर्क को अपने एप्लिकेशन में लागू करना होगा या MySQL ट्रिगर्स का उपयोग करना होगा। हालाँकि, यह जटिल हो सकता है और प्रदर्शन को प्रभावित कर सकता है, इसलिए ऐसे समाधान को लागू करने से पहले अपने उपयोग के मामले पर सावधानीपूर्वक विचार करें।

निष्कर्ष

डेटाटाइम कॉलम के आधार पर मौजूदा MySQL तालिका में एक सीरियल आईडी जोड़ना एक सीधी प्रक्रिया है जिसे कुछ SQL कमांड के साथ पूरा किया जा सकता है। यह तकनीक डेटा विश्लेषण, विशिष्ट पहचानकर्ता बनाने, या आपके डेटा में स्पष्ट कालानुक्रमिक क्रम स्थापित करने के लिए विशेष रूप से उपयोगी हो सकती है।

याद रखें, जबकि यह प्रक्रिया सीरियल आईडी की प्रारंभिक आबादी के लिए अच्छी तरह से काम करती है, भविष्य के सम्मिलन के लिए इस क्रम को बनाए रखने के लिए अतिरिक्त विचार और संभावित रूप से अधिक जटिल समाधान की आवश्यकता होती है। इन परिचालनों को उत्पादन डेटाबेस पर चलाने से पहले हमेशा अपने डेटा की एक प्रति पर उनका परीक्षण करें।

इन चरणों का पालन करके, आप अपने मौजूदा डेटा में एक उपयोगी नया आयाम जोड़ सकते हैं, जिससे आपके डेटाबेस को क्वेरी करने और व्यवस्थित करने की नई संभावनाएं खुल सकती हैं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/manojspace/adding-a-serial-id-to-mysql-tables-आधारित-on-creation-date-a-step-by-step-guide-2em3? 1 क्योंकि यदि कोई उल्लंघन है, तो कृपया उसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3