Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Thêm giá trị mới vào cột ENUM trong MySQL

Dùng ALTER TABLE ... MODIFY COLUMN ... ENUM(...) và phải liệt kê lại toàn bộ giá trị cũ + giá trị mới.

Cú pháp

ALTER TABLE ten_bang 
MODIFY COLUMN cot_enum ENUM('gia_tri_cu_1','gia_tri_cu_2',...,'gia_tri_moi_1','gia_tri_moi_2',...);

Ví dụ minh họa

Tạo bảng AddingNewValueToEnumColumn:

CREATE TABLE AddingNewValueToEnumColumn (
    Id INT NOT NULL AUTO_INCREMENT,
    Colors ENUM('RED','GREEN','BLUE'),
    PRIMARY KEY (Id)
);

Xem DDL hiện tại:

SHOW CREATE TABLE AddingNewValueToEnumColumn\G
Colors enum('RED','GREEN','BLUE') DEFAULT NULL

Thêm 3 giá trị mới: YELLOW, ORANGE, PINK

ALTER TABLE AddingNewValueToEnumColumn 
MODIFY COLUMN Colors ENUM('RED','GREEN','BLUE','YELLOW','ORANGE','PINK');

Kiểm tra lại (DESC):

+--------+-----------------------------------------------------+------+-----+---------+----------------+
| Field  | Type                                                | Null | Key | Default | Extra          |
+--------+-----------------------------------------------------+------+-----+---------+----------------+
| Id     | int(11)                                             | NO   | PRI | NULL    | auto_increment |
| Colors | enum('RED','GREEN','BLUE','YELLOW','ORANGE','PINK') | YES  |     | NULL    |                |
+--------+-----------------------------------------------------+------+-----+---------+----------------+

⚠️ Quan trọng: MySQL không hỗ trợ ADD VALUE cho ENUM. Phải khai báo lại toàn bộ danh sách. Nên backup dữ liệu trước khi thay đổi.