ใช้ ALTER TABLE ... MODIFY COLUMN ... ENUM(...) ต้องระบุค่าเดิมทั้งหมด + ค่าใหม่
ไวยากรณ์
ALTER TABLE yourTableName
MODIFY COLUMN yourEnumColumn ENUM('existing1','existing2',...,'newValue1','newValue2',...);
ตัวอย่างการใช้งาน
สร้างตาราง AddingNewValueToEnumColumn:
mysql> CREATE TABLE AddingNewValueToEnumColumn (
-> Id INT NOT NULL AUTO_INCREMENT,
-> Colors ENUM('RED','GREEN','BLUE'),
-> PRIMARY KEY(Id)
-> );
ตรวจสอบ DDL เดิม:
mysql> SHOW CREATE TABLE AddingNewValueToEnumColumn\G
Colors enum('RED','GREEN','BLUE') DEFAULT NULL
คำสั่งเพิ่มค่าใหม่ (YELLOW, ORANGE, PINK)
mysql> ALTER TABLE AddingNewValueToEnumColumn
-> MODIFY COLUMN Colors
-> ENUM('RED','GREEN','BLUE','YELLOW','ORANGE','PINK');
ตรวจสอบโครงสร้างหลังเพิ่ม
mysql> DESC AddingNewValueToEnumColumn;
+--------+-----------------------------------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-----------------------------------------------------+------+-----+---------+----------------+
| Id | int(11) | NO | PRI | NULL | auto_increment |
| Colors | enum('RED','GREEN','BLUE','YELLOW','ORANGE','PINK') | YES | | NULL | |
+--------+-----------------------------------------------------+------+-----+---------+----------------+
⚠️ ข้อควรระวัง: ต้องเขียนค่า ENUM เดิมซ้ำทั้งหมด พร้อมเพิ่มค่าใหม่ท้ายรายการ มิฉะนั้นค่าเดิมจะหายไป