SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.02.2008 11:29:30

Levon
Участник
Зарегистрирован: 27.02.2008
Сообщений: 4

Массив возможных значений столбца типа ENUM

Здравствуйте.

Подскажите, пожалуйста, как мне можно получить (и можно ли) массив возможных значений столбца типа ENUM

Т.Е. у меня есть таблица, в которой один столбец имеет тип enum('a', 'b', 'c')
можно ли мне получить какой-нибудь функцией массив
[0] => ""
[1] => "a"
[2] => "b"
[3] => "c"

можно конечно взять строку enum('a', 'b', 'c') из describe table и из нее получить при помощи удаления лишних символов и explode, но может быть есть более изящный способ?

Заранее благодарю.

Неактивен

 

#2 27.02.2008 15:16:24

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Массив возможных значений столбца типа ENUM

Можно еще через INFORMATION_SCHEMA, но explode прийдется делать все равно.

Неактивен

 

#3 27.02.2008 15:43:28

Levon
Участник
Зарегистрирован: 27.02.2008
Сообщений: 4

Re: Массив возможных значений столбца типа ENUM

Жаль,

Я делаю генератор формы себе в админку и очень было бы удобно если тип стодбца enum взять массив возможных значений и запихать его в <select>
Все равно у меня все заточено под работу только с MySQL. только и нужно, что превратить
enum('a','b','c') в array('a','b','c')

Неактивен

 

#4 27.02.2008 17:09:38

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5828

Re: Массив возможных значений столбца типа ENUM

Почему жаль? Вам просто придется один раз написать функцию, которая из enum('a','b','c') делает array('a','b','c').

Если у Вас MySQL5.0 и выше, то вмсето DESCRIBE TABLE можно воспользоваться INFORMATION_SCHEMA. Запрос
SELECT column_type FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema="db_name" AND table_name="tb_name" AND column_name="column_name";
сразу выдаст Вам enum('a', 'b', 'c')

Неактивен

 

#5 29.02.2008 18:18:28

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Массив возможных значений столбца типа ENUM

Между прочим, на PHP это можно сделать через строковую замену и eval smile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson