MODIFY COLUMN से AUTO_INCREMENT जोड़ें
MySQL में मौजूदा प्राइमरी की कॉलम को AUTO_INCREMENT बनाने के लिए ALTER TABLE ... MODIFY का उपयोग करें।
उदाहरण
टेबल बनाएं (प्राइमरी की बिना AUTO_INCREMENT):
mysql> CREATE TABLE changePrimaryKeyInAutoIncrement (
-> StudentId INT NOT NULL PRIMARY KEY,
-> StudentName VARCHAR(100),
-> StudentAge INT,
-> StudentAddress VARCHAR(100)
-> );
संरचना जांचें:
mysql> DESC changePrimaryKeyInAutoIncrement;
+----------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------+--------------+------+-----+---------+-------+ | StudentId | int(11) | NO | PRI | NULL | | | StudentName | varchar(100) | YES | | NULL | | | StudentAge | int(11) | YES | | NULL | | | StudentAddress | varchar(100) | YES | | NULL | | +----------------+-------------+------+-----+---------+-------+
प्राइमरी की को AUTO_INCREMENT में बदलें
mysql> ALTER TABLE changePrimaryKeyInAutoIncrement
-> MODIFY StudentId INT AUTO_INCREMENT;
आउटपुट: Query OK, 0 rows affected (1.48 sec)
अपडेटेड संरचना:
mysql> DESC changePrimaryKeyInAutoIncrement;
+----------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------------+--------------+------+-----+---------+----------------+ | StudentId | int(11) | NO | PRI | NULL | auto_increment | | StudentName | varchar(100) | YES | | NULL | | | StudentAge | int(11) | YES | | NULL | | | StudentAddress | varchar(100) | YES | | NULL | | +----------------+-------------+------+-----+---------+----------------+
देखें: Extra कॉलम में अब auto_increment दिख रहा है।
महत्वपूर्ण शर्तें
- कॉलम इंटीजर टाइप होना चाहिए (INT, BIGINT, आदि)
- कॉलम NOT NULL होना चाहिए
- कॉलम प्राइमरी की या यूनिक इंडेक्स का हिस्सा होना चाहिए
- टेबल खाली हो या मौजूदा डेटा में डुप्लीकेट/गैप न हों जो ऑटो-इन्क्रीमेंट से टकराएं
संबंधित ऑपरेशन