1
respuesta

Una consulta del tipo de dato ENUM

El tipo de dato ENUM en el ejemplo puso como datos tipo TEXTO. Supongo que se puede poner datos NUMERICOS. ¿ Se puede combinar ? es decir ¿podemos usar TEXTOS y NUMEROS al mismo tiempo dentro de los datos tipo ENUM?

1 respuesta

Hola! Un ENUM es un objeto de cadena de texto con un valor elegido de una lista de valores permitidos que se enumeran explícitamente en la especificación de la columna en el momento de la creación de la tabla.

Si almacena un número en una columna ENUM, el número se trata como el índice de los valores posibles y el valor almacenado es el miembro de la enumeración con ese índice. Si se cita el valor numérico, aún se interpreta como un índice si no hay una cadena coincidente en la lista de valores de enumeración. Por estas razones, no es recomendable definir una columna ENUM con valores de enumeración que parezcan números, porque esto puede volverse confuso fácilmente. Por ejemplo, si tiene una columna numbers ENUM('0','1','2') y realiza un insert

INSERT INTO t (numbers) VALUES(2),('2'),('3');

se alamcenará algo como lo siguiente

SELECT * FROM t;
+---------+
| numbers |
+---------+
| 1       |
| 2       |
| 2       |
+---------+