ALTER कमांड का उपयोग करके प्राइमरी की और ऑटो_इंक्रीमेंट हटा सकते हैं।
सिंटैक्स
ALTER TABLE yourTableName DROP PRIMARY KEY, CHANGE yourColumnName yourColumnName data_type;
उदाहरण के साथ समझें
सबसे पहले एक टेबल बनाते हैं:
mysql> CREATE TABLE removePrimaryKey (
-> StudentId INT NOT NULL AUTO_INCREMENT,
-> StudentFirstName VARCHAR(20),
-> StudentLastName VARCHAR(20),
-> PRIMARY KEY(StudentId)
-> );
Query OK, 0 rows affected (0.47 sec)
टेबल संरचना जांचें
mysql> DESC removePrimaryKey;
आउटपुट (पहले)
+------------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------+-------------+------+-----+---------+----------------+ | StudentId | int(11) | NO | PRI | NULL | auto_increment | | StudentFirstName | varchar(20) | YES | | NULL | | | StudentLastName | varchar(20) | YES | | NULL | | +------------------+-------------+------+-----+---------+----------------+ 3 rows in set (0.01 sec)
Key कॉलम में PRI और Extra कॉलम में auto_increment दिख रहा है। दोनों को हटाने के लिए:
mysql> ALTER TABLE removePrimaryKey
-> DROP PRIMARY KEY,
-> CHANGE StudentId StudentId INT;
Query OK, 0 rows affected (1.79 sec)
Records: 0 Duplicates: 0 Warnings: 0
परिवर्तन सत्यापित करें
mysql> DESC removePrimaryKey;
आउटपुट (बाद में)
+------------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------+-------------+------+-----+---------+-------+ | StudentId | int(11) | YES | | NULL | | | StudentFirstName | varchar(20) | YES | | NULL | | | StudentLastName | varchar(20) | YES | | NULL | | +------------------+-------------+------+-----+---------+-------+ 3 rows in set (0.07 sec)
अब Key और Extra कॉलम खाली हैं - प्राइमरी की और ऑटो_इंक्रीमेंट दोनों हट गए हैं।