我需要选择列的枚举值。从搜索中我发现了两种方式:
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()”和逗号的情况下获取这些值,是否可能,或者我是否需要解析这些值?并不是说检查是否有更简单的方法很难。
假设没有更简单的方法,上面两个查询中哪一个更好用?我注意到第二个查询没有显示我运行时的查询时间,我几乎认为它根本不需要任何时间。但是,如果我打开探查器,我可以看到它确实需要时间,但它似乎更快一点。那么第二个查询会更有效吗?
答案 0 :(得分:7)
我猜你无法选择那些值,我最终解析了这些值:
$result = str_replace(array("enum('", "')", "''"), array('', '', "'"), $result);
$arr = explode("','", $result);
return $arr;