我需要选择列的枚举值.从搜索中我发现了两种方法:
SELECT column_type FROM information_schema.columns
WHERE table_name = 'MyTable' AND column_name = 'MyColumn';
Run Code Online (Sandbox Code Playgroud)
和另外一个:
SHOW COLUMNS FROM `mytable` WHERE field = 'type'
Run Code Online (Sandbox Code Playgroud)
虽然第一个查询会给我这个信息:
enum('value1','value2','value3')
Run Code Online (Sandbox Code Playgroud)
第二个查询给了我相同的和其他列.我更愿意在没有"enum()"和逗号的情况下获取这些值,是否可能,或者我是否需要解析这些值?并不是说检查是否有更简单的方法很难.
假设没有更简单的方法,上面两个查询中的哪一个更好用?我注意到第二个查询没有显示我运行时的查询时间,我几乎认为它根本不需要任何时间.但是,如果我打开探查器,我可以看到它确实需要时间,但它似乎更快一点.那么第二个查询会更有效吗?
我想你不能选择那些值,我最终解析了这个值:
$result = str_replace(array("enum('", "')", "''"), array('', '', "'"), $result);
$arr = explode("','", $result);
return $arr;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10481 次 |
| 最近记录: |