如何使用 PHP 获取 MySQL 数据库中的枚举可能值?

mysqlmysqli databasephp

您可以借助 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)

相关文章