I need to select the enum values of a column. From searching I've found two ways:
SELECT column_type FROM information_schema.columns
WHERE table_name = 'MyTable' AND column_name = 'MyColumn';
and the other:
SHOW COLUMNS FROM `mytable` WHERE field = 'type'
Although the first query will give me this info:
enum('value1','value2','value3')
The 2nd query gives me the same and with additional columns as well. I would prefer to just get those values without the "enum()" and commas, is it possible, or do I need to parse the values out? Not that it's hard just checking if there is an easier way.
Assuming there is no easier way, which of the two queries above is better to use? I noticed that the 2nd query doesn't show the query time when I ran it, I almost thought it didn't require any time at all. But if I turn on the profiler I can see that it does take time, but it seem a bit faster. So would the 2nd query be more efficient?
解决方案
I guess you can't select those values out, I ended up parsing the values out with this:
$result = str_replace(array("enum('", "')", "''"), array('', '', "'"), $result);
$arr = explode("','", $result);
return $arr;