MySQL AUTO_INCREMENT मान 1 से शुरू होता है लेकिन हम इसे निम्नलिखित दो तरीकों से बदल सकते हैं -
ALTER TABLE query की मदद से
हम AUTO_INCREMENT के स्टारिंग मान को बदलने के लिए ALTER TABLE क्वेरी का उपयोग इस प्रकार कर सकते हैं -
ALTER TABLE table_name AUTO_INCREMENT = value;
उदाहरण
मान लीजिए कि हमने AUTO_INCREMENT के रूप में 'id' कॉलम वाली एक तालिका बनाई है। अब अगर हम इसमें मान डालेंगे तो क्रम संख्या 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 से आगे की क्रम संख्या मिलेगी।
क्रिएट टेबल क्वेरी की मदद से
तालिका बनाते समय हम 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)