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

วิธีเพิ่มค่าใหม่ในคอลัมน์ ENUM ของ MySQL

ใช้ 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 เดิมซ้ำทั้งหมด พร้อมเพิ่มค่าใหม่ท้ายรายการ มิฉะนั้นค่าเดิมจะหายไป