我需要选择列的枚举值。通过搜索,我找到了两种方法:

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()”和逗号的值,这是可能的,还是需要解析这些值?不是说很难检查是否有更简单的方法。
假设没有更简单的方法,那么上面的两个查询中哪一个更好使用?我注意到第二个查询在运行时没有显示查询时间,我几乎认为它根本不需要任何时间。但是如果我打开这个分析器,我可以看到它确实需要时间,但是它看起来有点快。那么第二个查询会更有效吗?

最佳答案

我猜你不能把这些值选出来,最后我用这个来分析这些值:

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

关于mysql - Mysql选择枚举值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4644220/

10-12 14:54