मौजूदा कॉलम पर AUTO_INCREMENT बाद में जोड़ना
यदि टेबल बनाते समय AUTO_INCREMENT भूल गए, तो ALTER TABLE ... MODIFY COLUMN से बाद में जोड़ सकते हैं।
स्थिति: बिना AUTO_INCREMENT की टेबल
CREATE TABLE forgetToSetAutoIncrementDemo (
StudentId INT,
StudentName VARCHAR(30)
);
विवरण जांचें (Extra कॉलम खाली)
DESC forgetToSetAutoIncrementDemo;
+-------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+-------+ | StudentId | int(11) | YES | | NULL | | | StudentName | varchar(30) | YES | | NULL | | +-------------+-------------+------+-----+---------+-------+
AUTO_INCREMENT जोड़ना (साथ ही PRIMARY KEY और NOT NULL)
ALTER TABLE forgetToSetAutoIncrementDemo MODIFY COLUMN StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY;
सत्यापन
DESC forgetToSetAutoIncrementDemo;
+-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | StudentId | int(11) | NO | PRI | NULL | auto_increment | | StudentName | varchar(30) | YES | | NULL | | +-------------+-------------+------+-----+---------+----------------+
डेटा डालकर परीक्षण
INSERT INTO forgetToSetAutoIncrementDemo (StudentName) VALUES ('Larry'), ('Chris'), ('Robert');
SELECT * FROM forgetToSetAutoIncrementDemo;
+-----------+-------------+ | StudentId | StudentName | +-----------+-------------+ | 1 | Larry | | 2 | Chris | | 3 | Robert | +-----------+-------------+
महत्वपूर्ण शर्तें
- कॉलम NOT NULL होना चाहिए।
- कॉलम प्राइमरी की या यूनिक इंडेक्स का हिस्सा होना चाहिए।
- कॉलम में डुप्लिकेट या NULL मान नहीं होने चाहिए।
- यदि टेबल में डेटा है, तो मौजूदा अधिकतम मान से अगला ऑटो-इन्क्रीमेंट मान शुरू होगा।