Kiểu dữ liệu SET trong MySQL cho phép lưu trữ nhiều giá trị từ một danh sách xác định trước. Để xem các giá trị được định nghĩa cho cột SET, bạn dùng câu lệnh DESC (hoặc DESCRIBE) chỉ định tên cột.
Tạo bảng với cột SET
mysql> CREATE TABLE DemoTable (
Game SET('Chess', 'Pig Dice', '29 Card')
);
Xem định nghĩa cột SET
mysql> DESC DemoTable Game;
Kết quả
+-------+-----------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------------------------------+------+-----+---------+-------+
| Game | set('Chess','Pig Dice','29 Card') | YES | | NULL | |
+-------+-----------------------------------+------+-----+---------+-------+
Cột Type hiển thị đầy đủ danh sách các giá trị cho phép: 'Chess', 'Pig Dice', '29 Card'.
Cách khác: Truy vấn INFORMATION_SCHEMA
SELECT COLUMN_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'DemoTable'
AND COLUMN_NAME = 'Game';
Kết quả trả về chuỗi: set('Chess','Pig Dice','29 Card'). Bạn có thể parse chuỗi này trong ứng dụng nếu cần.
Lưu ý: Khác với ENUM (chỉ chọn 1 giá trị), SET cho phép chọn 0 đến nhiều giá trị, lưu trữ dưới dạng bitmap.