Để thêm một cột enum mới vào bảng MySQL hiện có, bạn có thể sử dụng lệnh ALTER. Sau đây là cú pháp:
ALTER TABLE yourTableName ADD yourColumnName ENUM('yourValue1','yourValue2’....N) NOT NULL;
Đầu tiên chúng ta hãy tạo một bảng:
mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(200), StudentAge int ); Query OK, 0 rows affected (0.62 sec)
Kiểm tra mô tả của bảng bằng lệnh DESC:
mysql> DESC DemoTable;
Điều này sẽ tạo ra kết quả sau:
+-------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+----------------+ | StudentId | int(11) | NO | PRI | NULL | auto_increment | | StudentName | varchar(200) | YES | | NULL | | | StudentAge | int(11) | YES | | NULL | | +-------------+--------------+------+-----+---------+----------------+ 3 rows in set (0.01 sec)
Sau đây là truy vấn để thêm một cột enum mới vào bảng hiện có. Chúng tôi đã đặt nó cho Giới tính sinh viên:
mysql> ALTER TABLE DemoTable ADD StudentGender ENUM('Male','Female') NOT NULL; Query OK, 0 rows affected (0.40 sec) Records: 0 Duplicates: 0 Warnings: 0
Hãy để chúng tôi kiểm tra mô tả của bảng một lần nữa:
mysql> desc DemoTable;
Điều này sẽ tạo ra kết quả sau và hiển thị các giá trị enum cũng cho GENDER:
+---------------+-----------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+-----------------------+------+-----+---------+----------------+ | StudentId | int(11) | NO | PRI | NULL | auto_increment | | StudentName | varchar(200) | YES | | NULL | | | StudentAge | int(11) | YES | | NULL | | | StudentGender | enum('Male','Female') | NO | | NULL | | +---------------+-----------------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)
Nhìn vào kết quả đầu ra mẫu ở trên, cột StudentGender có kiểu dữ liệu ENUM.