如何使用 PHP 从 MySQL 数据库中获取枚举可能的值?
借助于 INFORMATION_SCHEMA.COLUMNS 表,你可以从 MySQL 数据库中获取可能的枚举值。语法如下 −
SELECT COLUMN_TYPE AS anyAliasName FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = ‘yourDatabaseName’ AND TABLE_NAME = 'yourTableName' AND COLUMN_NAME = 'yourEnumColumnName';
为了理解上述语法,让我们用 ENUM 数据类型创建一个表。创建表所需的查询如下 −
mysql> create table EnumDemo -> ( -> Id int, -> Color ENUM('RED','GREEN','BLUE','BLACK','ORANGE') -> ); Query OK, 0 rows affected (0.66 sec)
此处表 “EnumDemo” 存在于 “sample” 数据库中。现在你可以实现上述语法,以根据列获取枚举的所有可能值。
示例
查询如下 −
mysql> SELECT -> COLUMN_TYPE as AllPossibleEnumValues -> FROM -> INFORMATION_SCHEMA.COLUMNS -> WHERE -> TABLE_SCHEMA = 'sample' AND TABLE_NAME = 'EnumDemo' AND COLUMN_NAME = 'Color';
输出
+---------------------------------------------+ | AllPossibleEnumValues | +---------------------------------------------+ | enum('RED','GREEN','BLUE','BLACK','ORANGE') | +---------------------------------------------+ 1 row in set (0.00 sec)
广告