AUTO_INCREMENT शुरुआती मान सेट करना
MySQL में AUTO_INCREMENT = N टेबल विकल्प अगले ऑटो-इन्क्रीमेंट मान को N पर सेट करता है (डिफ़ॉल्ट 1 के बजाय)।
उदाहरण
टेबल बनाएं AUTO_INCREMENT=3 के साथ:
mysql> CREATE TABLE Auto_incrementDemo (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name VARCHAR(20)
-> ) AUTO_INCREMENT = 3;
डेटा इन्सर्ट करें (Id नहीं देते):
mysql> INSERT INTO Auto_incrementDemo(Name) VALUES('John');
mysql> INSERT INTO Auto_incrementDemo(Name) VALUES('Larry');
mysql> INSERT INTO Auto_incrementDemo(Name) VALUES('Bob');
परिणाम:
+----+-------+ | Id | Name | +----+-------+ | 3 | John | | 4 | Larry | | 5 | Bob | +----+-------+
व्याख्या: पहली इन्सर्ट की गई पंक्ति को Id=3 मिला (न कि 1), फिर 4, 5...
उपयोग केस
- डेटा माइग्रेशन:मौजूदा डेटा के बाद क्रम जारी रखने के लिए
- टेबल मर्ज: दो टेबल मिलाते समय ID ओवरलैप रोकने के लिए
- टेस्टिंग: विशिष्ट ID रेंज से शुरू करने के लिए
- रिकवरी: गलती से डिलीट हुई पंक्तियों के बाद गैप भरने के लिए
बाद में मान बदलना
ALTER TABLE Auto_incrementDemo AUTO_INCREMENT = 100;
वर्तमान मान देखना
SHOW TABLE STATUS LIKE 'Auto_incrementDemo'; -- या SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'your_db' AND TABLE_NAME = 'Auto_incrementDemo';
महत्वपूर्ण: AUTO_INCREMENT मान केवल बढ़ता है। मौजूदा अधिकतम ID से कम मान सेट करने का कोई असर नहीं होता (MySQL इसे अनदेखा करता है)।