Để giới hạn cột chỉ nhận một trong các giá trị xác định, MySQL cung cấp kiểu dữ liệu ENUM.
Tạo bảng với cột ENUM
mysql> CREATE TABLE DemoTable838(Color ENUM('RED','GREEN','BLUE'));
Query OK, 0 rows affected (0.67 sec)
Chèn dữ liệu
mysql> INSERT INTO DemoTable838 VALUES('RED');
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO DemoTable838 VALUES('Green');
Query OK, 1 row affected (0.64 sec)
mysql> INSERT INTO DemoTable838 VALUES('Blue');
Query OK, 1 row affected (0.88 sec)
Lưu ý: MySQL ENUM không phân biệt chữ hoa/thường khi nhập liệu, nhưng sẽ lưu trữ và hiển thị theo định dạng đã khai báo (chữ hoa).
Hiển thị dữ liệu
mysql> SELECT * FROM DemoTable838;
Kết quả:
+-------+ | Color | +-------+ | RED | | GREEN | | BLUE | +-------+ 3 rows in set (0.00 sec)
Mẹo: Nếu cố chèn giá trị không có trong danh sách ENUM, MySQL sẽ chèn chuỗi rỗng ('') và đưa ra cảnh báo (warning).