दो चरणों में ऑटो-इन्क्रीमेंट प्रारंभिक मान सेट करना
मौजूदा टेबल पर ऑटो-इन्क्रीमेंट शुरुआती मान सेट करने के लिए दो ALTER TABLE स्टेटमेंट आवश्यक हैं।
चरण 1: कॉलम को ऑटो-इन्क्रीमेंट प्राइमरी की बनाएं
ALTER TABLE yourTableName MODIFY yourColumnName INT NOT NULL AUTO_INCREMENT PRIMARY KEY, ADD INDEX (yourColumnName);
चरण 2: प्रारंभिक मान सेट करें
ALTER TABLE yourTableName AUTO_INCREMENT = yourStartingValue;
उदाहरण
mysql> CREATE TABLE setAutoIncrementDemo (UserId INT, UserName VARCHAR(20));
चरण 1
mysql> ALTER TABLE setAutoIncrementDemo
-> MODIFY UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> ADD INDEX (UserId);
Query OK, 0 rows affected (1.51 sec)
चरण 2
mysql> ALTER TABLE setAutoIncrementDemo AUTO_INCREMENT = 1000; Query OK, 0 rows affected (0.34 sec)
डेटा डालकर सत्यापित करें
mysql> INSERT INTO setAutoIncrementDemo(UserName) VALUES ('John'), ('Carol'), ('Sam');
+--------+----------+ | UserId | UserName | +--------+----------+ | 1000 | John | | 1001 | Carol | | 1002 | Sam | +--------+----------+
महत्वपूर्ण नोट्स
- यदि टेबल खाली नहीं है, तो
AUTO_INCREMENTमान वर्तमान अधिकतम ID + 1 से कम नहीं हो सकता SHOW TABLE STATUS LIKE 'table_name'से वर्तमान ऑटो-इन्क्रीमेंट मान देखें- ट्रंकेट करने पर ऑटो-इन्क्रीमेंट रीसेट हो जाता है (इंजन पर निर्भर)
- InnoDB में रीस्टार्ट पर ऑटो-इन्क्रीमेंट रीसेट हो सकता है
टेबल बनाते समय सेट करना
CREATE TABLE t (id INT AUTO_INCREMENT PRIMARY KEY) AUTO_INCREMENT = 1000;