Sabía booleano en mysql como tinyint (1)
.
Hoy veo una mesa con un entero definido como tinyint(2)
, y también otros como int(4)
, int(6)
...
¿Qué significa el tamaño en el campo de tipo entero y tinyint?
mysql
sqldatatypes
Realtebo
fuente
fuente
Respuestas:
Significa ancho de pantalla
Ya sea que use tinyint (1) o tinyint (2), no hace ninguna diferencia.
Siempre uso tinyint (1) e int (11), usé varios clientes mysql (navicat, secuela pro).
¡No significa nada en absoluto! Ejecuté una prueba, todos los clientes anteriores o incluso el cliente de línea de comandos parecen ignorar esto.
Pero, el ancho de visualización es más importante si está utilizando la
ZEROFILL
opción, por ejemplo, su tabla tiene las siguientes 2 columnas:Un tinyint (2) zerofill
B tinyint (4) zerofill
ambas columnas tienen el valor de 1, la salida para la columna A sería
01
y0001
para B , como se ve en la captura de pantalla a continuación :)fuente
El
(m)
indica el ancho de visualización de la columna; aplicaciones como el cliente MySQL hacen uso de esto cuando muestran los resultados de la consulta.Por ejemplo:
Aquí
a
,b
yc
están usandoTINYINT(1)
,TINYINT(2)
yTINYINT(3)
respectivamente. Como puede ver, rellena los valores en el lado izquierdo utilizando el ancho de la pantalla.Es importante tener en cuenta que no afecta el rango aceptado de valores para ese tipo en particular, es decir,
TINYINT(1)
todavía acepta[-128 .. 127]
.fuente
fuente
Acerca de INT, TINYINT ... Estos son diferentes tipos de datos, INT es un número de 4 bytes, TINYINT es un número de 1 byte. Más información aquí: INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT .
La sintaxis del tipo de datos TINYINT es TINYINT (M), donde M indica el ancho máximo de visualización (solo se usa si su cliente MySQL lo admite).
Atributos de tipo numérico .
fuente