Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL ALTER TABLE ลบ Primary Key และ AUTO_INCREMENT

ใช้ ALTER TABLE ... DROP PRIMARY KEY, CHANGE column column datatype เพื่อลบ PK และ AUTO_INCREMENT พร้อมกัน

ไวยากรณ์

ALTER TABLE yourTableName 
DROP PRIMARY KEY, 
CHANGE yourColumnName yourColumnName dataType;

ตัวอย่างการใช้งาน

สร้างตาราง removePrimaryKey พร้อม PK และ AUTO_INCREMENT:

mysql> CREATE TABLE removePrimaryKey (
    -> StudentId INT NOT NULL AUTO_INCREMENT,
    -> StudentFirstName VARCHAR(20),
    -> StudentLastName VARCHAR(20),
    -> PRIMARY KEY(StudentId)
    -> );

ตรวจสอบโครงสร้างก่อนเปลี่ยน (DESC)

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    |                |
+------------------+-------------+------+-----+---------+----------------+

คำสั่งลบ PK และ AUTO_INCREMENT

mysql> ALTER TABLE removePrimaryKey 
    -> DROP PRIMARY KEY, 
    -> CHANGE StudentId StudentId INT;

ตรวจสอบโครงสร้างหลังเปลี่ยน

mysql> DESC removePrimaryKey;
+------------------+-------------+------+-----+---------+-------+
| Field            | Type        | Null | Key | Default | Extra |
+------------------+-------------+------+-----+---------+-------+
| StudentId        | int(11)     | YES  |     | NULL    |       |
| StudentFirstName | varchar(20) | YES  |     | NULL    |       |
| StudentLastName  | varchar(20) | YES  |     | NULL    |       |
+------------------+-------------+------+-----+---------+-------+

ผลลัพธ์: คอลัมน์ Key และ Extra ว่างเปล่าแล้ว (ไม่มี PRI, ไม่มี auto_increment)