Ответ 1
Я предполагаю, что вы не можете выбрать эти значения, я закончил анализ значений следующим образом:
$result = str_replace(array("enum('", "')", "''"), array('', '', "'"), $result);
$arr = explode("','", $result);
return $arr;
Мне нужно выбрать значения перечисления столбца. Из поиска я нашел два пути:
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;