MySQL में ALTER TABLE स्टेटमेंट का उपयोग करके ऑटो-इन्क्रीमेंट मान को रीसेट या किसी विशिष्ट मान पर सेट किया जा सकता है। यह तब उपयोगी होता है जब आप टेबल में नए रिकॉर्ड्स के लिए आईडी क्रम को पुनः प्रारंभ करना चाहते हैं।
सिंटैक्स
ALTER TABLE your_table_name AUTO_INCREMENT = 0;
नोट: मान 0 पर सेट करने से अगला ऑटो-इन्क्रीमेंट मान 1 से शुरू होगा।
व्यावहारिक उदाहरण
1. विशिष्ट ऑटो-इन्क्रीमेंट मान के साथ टेबल बनाएं
mysql> CREATE TABLE DemoTable698 (
ClientId INT NOT NULL AUTO_INCREMENT PRIMARY KEY
) AUTO_INCREMENT = 109;
Query OK, 0 rows affected (0.88 sec)
2. ऑटो-इन्क्रीमेंट को 0 पर रीसेट करें
mysql> ALTER TABLE DemoTable698 AUTO_INCREMENT = 0; Query OK, 0 rows affected (0.21 sec) Records: 0 Duplicates: 0 Warnings: 0
3. नए रिकॉर्ड्स डालें (आईडी स्वतः 1 से शुरू होगी)
mysql> INSERT INTO DemoTable698 VALUES (); Query OK, 1 row affected (0.18 sec) mysql> INSERT INTO DemoTable698 VALUES (); Query OK, 1 row affected (0.12 sec) mysql> INSERT INTO DemoTable698 VALUES (); Query OK, 1 row affected (0.12 sec)
4. परिणाम जांचें
mysql> SELECT * FROM DemoTable698; +----------+ | ClientId | +----------+ | 1 | | 2 | | 3 | +----------+ 3 rows in set (0.00 sec)
महत्वपूर्ण विचार
- ऑटो-इन्क्रीमेंट मान केवल बढ़ाया जा सकता है, घटाया नहीं (यदि टेबल में डेटा है)
- खाली टेबल पर रीसेट करना सुरक्षित है
- उत्पादन डेटाबेस में सावधानी से उपयोग करें क्योंकि यह विदेशी कुंजी संबंधों को प्रभावित कर सकता है
- विशिष्ट मान सेट करने के लिए:
AUTO_INCREMENT = 1000