BUG_4: Mysql uso de base de datos TINYINT (1)

base de datos MySQL TINYINT (1) datos almacenados implícitamente convertido al tipo booleano.

ALTER TABLE ADD user_info_book user_type TINYTINT (1) DEFAULT 0 COMENTARIO 'arte Tipo 0 adultos niño;

A partir de la base de datos para detectar el tipo de personal, 0 devuelve falso, 1 devolverá true. Esto es claramente contraria al sentido de los propios datos.
Utilizamos TINYINT tipo (1) de datos cuando la construcción de la tabla, el principio general de la optimización en cuenta es el tipo de datos a seguir: más pequeño es generalmente mejor . Sin embargo TINYINT (1) y TINYINT (4), durante el almacenamiento y de cálculo son idénticos, en otras palabras TINYINT (1) no ocupa menos espacio de almacenamiento que TINYINT (4).
Cuando la construcción de la tabla si el propósito original es no almacenar tipo booleano, no debe ser utilizado TINYINT (1). habla Además, el tipo entero en uso, especificar el ancho no tiene sentido: no limita el alcance de valor legal, pero ofrece algunas herramientas interactivas MySQL usada para visualizar el número de caracteres.
Tales como la construcción anteriormente mencionada de la tabla de declaración debe decir:

ALTER TABLE ADD user_info_book user_type TINYTINT DEFAULT 0 COMENTARIO 'arte Tipo 0 adultos niño;

En este momento predeterminado en TINYINT TINYINT (4), representa -128-127.

Publicado 15 artículos originales · ganado elogios 0 · Vistas 305

Supongo que te gusta

Origin blog.csdn.net/sinat_15051577/article/details/103891950
Recomendado
Clasificación