MySQL: extraer los valores de un campo ENUM

Multi optionsHablando con un compañero del trabajo, mirábamos de extraer los diferentes valores que puede tener asignados un campo ENUM en MySQL. Recordaba de otra vez querer hacer lo mismo, y no encontrar nada que me convenciera.

A parte de todas las opciones basadas en procedures o funciones, existen dos formas de conseguir los campos de un campo ENUM:

SELECT column_type
FROM information_schema.COLUMNS
WHERE table_schema = 'schema_name'
    AND TABLE_NAME = 'table_name' 
    AND column_name = 'column_name';
SHOW COLUMNS FROM TABLE_NAME LIKE 'column_name';

De esta manera, se extrae una string que contiene los diferentes valores. Por desgracia, con MySQL no existe ninguna función nativa para dividir el string. O se crea una función o procedure, o se realiza la operación a nivel de PHP.

Un comentario en “MySQL: extraer los valores de un campo ENUM

  1. Hola, valdria la pena que a todos tus ejemplos les añadieras la ejecución y la salida que generarían los queries.

    Es de hecho muy ilustrativo ver la salida, casi mas que la explicación.

    Saludos!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>