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

MySQL AUTO_INCREMENT उदाहरणों के साथ

<घंटा/>

आइए समझते हैं कि ATUO_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' कॉलम के लिए सबसे छोटे पूर्णांक डेटा प्रकार का उपयोग किया जा सकता है, जो उपयोगकर्ता द्वारा आवश्यक अधिकतम अनुक्रम मान रखने के लिए पर्याप्त होगा।

  • जब कॉलम डेटा प्रकार की ऊपरी सीमा तक पहुँच जाता है, तो संख्याओं का एक क्रम उत्पन्न करने का एक और प्रयास किया जाता है। लेकिन यह विफल रहता है।

इसलिए, यदि संभव हो तो UNSIGNED विशेषता का उपयोग करें ताकि कॉलम AUTO_INCREMENT मानों में अधिक से अधिक मानों की अनुमति दी जा सके।


  1. डिफ़ॉल्ट 0000-00-00 के साथ MySQL डेटाटाइम कॉलम बनाएं?

    डिफ़ॉल्ट सेट करने के लिए, आप MySQL में DEFAULT कीवर्ड का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं - ) Engine =MyISAM,AUTO_INCREMENT=100;क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.21 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल (कर्मचारी नाम) मान (सैम) में डालें; क्वेरी ठीक है

  1. MySQL में NULL पंक्ति के साथ कॉलम गुणा करना?

    NULL पंक्ति से गुणा करने के लिए, आप COALESCE() का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1842 ( NumberOfItems int, Amount int );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - सम्मिलित करें DemoTable1842 मानों में (NUL

  1. MySQL में AUTO_INCREMENT कॉलम के साथ काम करना

    आइए समझते हैं कि MySQL में AUTO_INCREMENT कॉलम के साथ कैसे काम करें - AUTO_INCREMENT विशेषता का उपयोग नई पंक्तियों के लिए एक विशिष्ट पहचान बनाने के लिए किया जाता है। आइए देखें कि यह कथन कैसे काम करता है। इससे पहले, नीचे दी गई क्वेरी पर विचार करें - क्वेरी CREATE TABLE tableName (    id ME