Mysql Select Enum Values - PullRequest
       5

Mysql Select Enum Values

16 голосов
/ 10 января 2011

Мне нужно выбрать значения перечисления столбца.Из поиска я нашел два способа:

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 Ответ

7 голосов
/ 13 января 2011

Полагаю, вы не можете выбрать эти значения. Я закончил разбор значений следующим образом:

$result = str_replace(array("enum('", "')", "''"), array('', '', "'"), $result);
$arr = explode("','", $result);
return $arr;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...