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

ลบค่าออกจาก ENUM ใน MySQL ด้วย ALTER TABLE

ใช้ ALTER TABLE ... CHANGE column column ENUM('new','values') เพื่อกำหนดค่า ENUM ใหม่ (ลบค่าเก่าทิ้ง)

ตัวอย่าง

mysql> create table DemoTable ( `Rank` ENUM('LOW','MEDIUM','HIGH') );
Query OK, 0 rows affected (0.52 sec)

ตรวจสอบโครงสร้างก่อน

mysql> DESC DemoTable;
+-------+-----------------------------+------+-----+---------+-------+
| Field | Type                        | Null | Key | Default | Extra |
+-------+-----------------------------+------+-----+---------+-------+
| Rank  | enum('LOW','MEDIUM','HIGH') | YES  |     | NULL    |       |
+-------+-----------------------------+------+-----+---------+-------+

ลบ 'MEDIUM' ออกจาก ENUM

mysql> alter table DemoTable change `Rank` `Rank` ENUM('LOW','HIGH');
Query OK, 0 rows affected (1.19 sec)

ตรวจสอบหลังแก้ไข

mysql> DESC DemoTable;
+-------+--------------------+------+-----+---------+-------+
| Field | Type               | Null | Key | Default | Extra |
+-------+--------------------+------+-----+---------+-------+
| Rank  | enum('LOW','HIGH') | YES  |     | NULL    |       |
+-------+-----------------------------+------+-----+---------+-------+

คำเตือน: หากมีข้อมูลที่เป็น 'MEDIUM' อยู่แล้ว จะถูกแปลงเป็น '' (empty string) ควรตรวจสอบและย้ายข้อมูลก่อน