MySQL AUTO_INCREMENT मान 1 से शुरू होता है लेकिन हम इसे निम्नलिखित दो तरीकों से बदल सकते हैं:
ALTER TABLE क्वेरी की मदद से
हम AUTO_INCREMENT के प्रारंभिक मान को बदलने के लिए ALTER TABLE क्वेरी का उपयोग कर सकते हैं:
ALTER TABLE table_name AUTO_INCREMENT = value;
उदाहरण
मान लीजिए हमने 'id' कॉलम को AUTO_INCREMENT के साथ एक टेबल बनाई है। अब यदि हम इसमें मान डालेंगे तो अनुक्रम संख्या 1 से शुरू होगी जैसा कि आप निम्नलिखित क्वेरी में देख सकते हैं:
mysql> Create Table EMP(id int NOT NULL PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10));
Query OK, 0 rows affected (0.07 sec)
mysql> Insert Into EMP(Name) Values('Aryan');
Query OK, 1 row affected (0.02 sec)
mysql> Insert Into EMP(Name) Values('Yash');
Query OK, 1 row affected (0.04 sec)
mysql> Select * from EMP;
+----+-------+
| id | NAME |
+----+-------+
| 1 | Aryan |
| 2 | Yash |
+----+-------+
2 rows in set (0.00 sec)
अब, यदि हम बाद में अनुक्रम संख्या बदलना चाहते हैं तो हमें AUTO_INCREMENT के मान को बदलने के लिए ALTER TABLE क्वेरी का उपयोग करना होगा:
mysql> Alter table emp auto_increment = 10;
Query OK, 2 rows affected (0.25 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> Insert Into EMP(Name) Values('Daksh');
Query OK, 1 row affected (0.03 sec)
mysql> Insert Into EMP(Name) Values('Shayra');
Query OK, 1 row affected (0.06 sec)
mysql> Select * from EMP;
+----+--------+
| id | NAME |
+----+--------+
| 1 | Aryan |
| 2 | Yash |
| 10 | Daksh |
| 11 | Shayra |
+----+--------+
4 rows in set (0.00 sec)
उपरोक्त क्वेरी ने AUTO_INCREMENT के मान को 10 में बदल दिया है इसलिए उसके बाद नए मान डालने पर हमें 10 से आगे अनुक्रम संख्या मिलेगी।
CREATE TABLE क्वेरी की मदद से
हम टेबल बनाते समय भी AUTO_INCREMENT मान को बदल सकते हैं। यह CREATE TABLE क्वेरी के साथ AUTO_INCREMENT के मान को निर्दिष्ट करके किया जा सकता है:
CREATE TABLE (Column1 INT PRIMARY KEY NOT NULL AUTO_INCREMENT, Column2 data type) AUTO_INCREMENT = value;
उदाहरण
mysql> Create Table EMP1(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10)) AUTO_INCREMENT = 100; Query OK, 0 rows affected (0.11 sec)
उपरोक्त क्वेरी ने टेबल के निर्माण के समय AUTO_INCREMENT के मान को 100 निर्दिष्ट किया है। अब यदि हम इसमें मान डालेंगे तो अनुक्रम संख्या डिफ़ॉल्ट मान 1 के बजाय 100 से शुरू होगी:
mysql> Insert into emp1(name) values('Sohan');
Query OK, 1 row affected (0.04 sec)
mysql> Insert into emp1(name) values('Harshit');
Query OK, 1 row affected (0.05 sec)
mysql> Select * from emp1;
+-----+---------+
| id | NAME |
+-----+---------+
| 100 | Sohan |
| 101 | Harshit |
+-----+---------+
2 rows in set (0.00 sec)