AUTO_INCREMENT प्रारंभ मान ALTER TABLE से सेट करें
MySQL में ऑटो-इन्क्रीमेंट कॉलम का प्रारंभ मान बदलने के लिए ALTER TABLE ... AUTO_INCREMENT = value का उपयोग करें।
टेबल बनाना
mysql> CREATE TABLE DemoTable (
UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
ऑटो-इन्क्रीमेंट प्रारंभ मान सेट करना
mysql> ALTER TABLE DemoTable AUTO_INCREMENT = 10000;
Query OK, 0 rows affected (0.31 sec)
डेटा डालना (ID निर्दिष्ट किए बिना)
mysql> INSERT INTO DemoTable VALUES();
mysql> INSERT INTO DemoTable VALUES();
mysql> INSERT INTO DemoTable VALUES();
mysql> INSERT INTO DemoTable VALUES();
परिणाम
mysql> SELECT * FROM DemoTable;
+--------+
| UserId |
+--------+
| 10000 |
| 10001 |
| 10002 |
| 10003 |
+--------+
महत्वपूर्ण नियम
- केवल बढ़ा सकते हैं: वर्तमान अधिकतम ID से कम मान सेट नहीं कर सकते
- टेबल खाली हो तो कोई भी मान: खाली टेबल पर कोई भी प्रारंभ मान सेट कर सकते हैं
- डेटा होने पर:
AUTO_INCREMENTमान वर्तमान अधिकतम ID + 1 से कम नहीं हो सकता
वर्तमान AUTO_INCREMENT मान देखना
mysql> SHOW TABLE STATUS LIKE 'DemoTable'\G
-- या
SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'DemoTable';
टेबल निर्माण के समय सेट करना
CREATE TABLE DemoTable (
UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY
) AUTO_INCREMENT = 10000;
उपयोग मामले
- मौजूदा सिस्टम के साथ ID रेंज समन्वय
- मर्ज/माइग्रेशन के लिए ID रेंज आरक्षित करना
- परीक्षण डेटा के लिए विशिष्ट रेंज