Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL में ऑटो इंक्रीमेंट आईडी कॉलम के विखंडन को कैसे हैंडल करें?

<घंटा/>

जब भी हम फिर से नंबर लगाते हैं, कोई समस्या हो सकती है। कॉलम के लिए एक विशिष्ट आईडी घोषित करने की आवश्यकता है।

MySQL संस्करण 5.6 InnoDB में, हम INSERT स्टेटमेंट में ID कॉलम को शामिल करके auto_increment ID का पुन:उपयोग कर सकते हैं और हम कोई भी विशिष्ट मान दे सकते हैं जो हम चाहते हैं।

स्थितियां इस प्रकार हैं -

  • जब भी हम सबसे अधिक संख्या वाली आईडी हटाते हैं
  • जब भी हम MySQL सर्वर को शुरू और बंद करते हैं
  • जब भी हम कोई नया रिकॉर्ड डालते हैं

auto_increment वेरिएबल का उपयोग करके आईडी ऑटो इंक्रीमेंट का उदाहरण।

mysql> तालिका बनाएं UniqueAutoId -> ( -> id int auto_increment, -> Unique(id) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.45 सेकंड)

तालिका में रिकॉर्ड सम्मिलित करना।

mysql> UniqueAutoId मानों में डालें (); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) mysql> UniqueAutoId मानों में डालें (); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> UniqueAutoId मानों में डालें (); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.07 सेकंड) mysql> UniqueAutoId मानों में डालें (); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) mysql> UniqueAutoId मानों में डालें (); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) 

सभी रिकॉर्ड प्रदर्शित करना।

mysql> UniqueAutoId से *चुनें;

निम्न आउटपुट है।

+-----+| आईडी |+-----+| 1 || 2 || 3 || 4 || 5 |+----+5 पंक्तियाँ सेट में (0.00 सेकंड)

रिकॉर्ड्स को डिलीट करने के लिए हमने DELETE स्टेटमेंट का इस्तेमाल किया है। यहां, हम id=5 हटा रहे हैं;

mysql> UniqueAutoId से हटाएं जहां id=5;क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड)

सभी रिकॉर्ड प्रदर्शित करना।

mysql> UniqueAutoId से *चुनें;

निम्न आउटपुट है।

+-----+| आईडी |+-----+| 1 || 2 || 3 || 4 |+----+4 पंक्तियाँ सेट में (0.00 सेकंड)

आइए हम फिर से तालिका से एक रिकॉर्ड हटा दें।

mysql> UniqueAutoId से हटाएं जहां id=2;क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड)

फिर से, तालिका से रिकॉर्ड प्रदर्शित करना।

mysql> UniqueAutoId से *चुनें;

निम्न आउटपुट है।

+-----+| आईडी |+----+| 1 || 3 || 4 |+----+3 पंक्तियाँ सेट में (0.00 सेकंड

उपरोक्त परिणाम विखंडन में हैं।


  1. MySQL तालिका से डेटा हटाने के बाद 1 के साथ स्वत:वृद्धि कैसे करें?

    इसके लिए आप TRUNCATE TABLE कमांड का इस्तेमाल कर सकते हैं। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1796 (StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20));क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1

  1. MySQL में प्रारंभिक मान और ऑटो वेतन वृद्धि कैसे सेट करें?

    AUTO_INCREMENT विशेषता का उपयोग नई पंक्तियों के लिए एक विशिष्ट पहचान बनाने के लिए किया जाता है। यदि किसी कॉलम को NOT NULL घोषित किया जाता है, तो संख्याओं का एक क्रम उत्पन्न करने के लिए उस कॉलम को NULL असाइन करना संभव है। जब कोई मान AUTO_INCREMENT कॉलम में डाला जाता है, तो कॉलम उस मान पर सेट हो जाता

  1. कैसे एक MySQL अनुक्रम बनाने के लिए?

    MySQL में सीक्वेंस क्या है? MySQL में, अनुक्रम पूर्णांकों की एक सूची को संदर्भित करता है जो निर्दिष्ट होने पर 1 या 0 से शुरू होने वाले आरोही क्रम में उत्पन्न होता है। कई अनुप्रयोगों को अनुक्रमों की आवश्यकता होती है जिनका उपयोग विशेष रूप से पहचान के लिए अद्वितीय संख्याएं उत्पन्न करने के लिए किया जाए