Bạn có thể lấy các giá trị có thể có trong cơ sở dữ liệu MySQL với sự trợ giúp của bảng INFORMATION_SCHEMA.COLUMNS. Cú pháp như sau -
SELECT COLUMN_TYPE AS anyAliasName FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = ‘yourDatabaseName’ AND TABLE_NAME = 'yourTableName' AND COLUMN_NAME = 'yourEnumColumnName';
Để hiểu cú pháp trên, chúng ta hãy tạo một bảng với kiểu dữ liệu ENUM. Truy vấn để tạo bảng như sau -
mysql> create table EnumDemo -> ( -> Id int, -> Color ENUM('RED','GREEN','BLUE','BLACK','ORANGE') -> ); Query OK, 0 rows affected (0.66 sec)
Ở đây bảng ‘EnumDemo’ hiện diện trong cơ sở dữ liệu ‘mẫu’. Bây giờ bạn có thể triển khai cú pháp trên để nhận tất cả các giá trị enum có thể có từ một cột.
Ví dụ
Truy vấn như sau -
mysql> SELECT -> COLUMN_TYPE as AllPossibleEnumValues -> FROM -> INFORMATION_SCHEMA.COLUMNS -> WHERE -> TABLE_SCHEMA = 'sample' AND TABLE_NAME = 'EnumDemo' AND COLUMN_NAME = 'Color';
Đầu ra
+---------------------------------------------+ | AllPossibleEnumValues | +---------------------------------------------+ | enum('RED','GREEN','BLUE','BLACK','ORANGE') | +---------------------------------------------+ 1 row in set (0.00 sec)