Mysql选择枚举值

时间:2011-01-10 06:25:02

标签: mysql enums

我需要选择列的枚举值。从搜索中我发现了两种方式:

SELECT column_type FROM information_schema.columns 
WHERE table_name = 'MyTable' AND column_name = 'MyColumn';

和另一个:

SHOW COLUMNS FROM `mytable` WHERE field = 'type'

虽然第一个查询会给我这个信息:

enum('value1','value2','value3')

第二个查询给了我相同的内容以及其他列。我更愿意在没有“enum()”和逗号的情况下获取这些值,是否可能,或者我是否需要解析这些值?并不是说检查是否有更简单的方法很难。

假设没有更简单的方法,上面两个查询中哪一个更好用?我注意到第二个查询没有显示我运行时的查询时间,我几乎认为它根本不需要任何时间。但是,如果我打开探查器,我可以看到它确实需要时间,但它似乎更快一点。那么第二个查询会更有效吗?

1 个答案:

答案 0 :(得分:7)

我猜你无法选择那些值,我最终解析了这些值:

$result = str_replace(array("enum('", "')", "''"), array('', '', "'"), $result);
$arr = explode("','", $result);
return $arr;