2011-01-20 29 views

Respuesta

121

Ambos son sinónimos de TINYINT (1).

+9

Lo que Adam dice. No existe un tipo BOOLEAN real en MySQL. – Mchl

3

Una cosa que me di cuenta - con una columna definida como BOOL en MySQL, Spring Roo correctamente genera código Java para Resolver referencia el valor de un booleano , por lo que, presumiblemente, la especificación de BOOL puede agregar algún valor, incluso si solo se trata de una sugerencia sobre el uso previsto de la columna.

17

Según lo establecido en otros comentarios, son sinónimos de TINYINT (1).

* Entonces, ¿por qué molestan en diferenciar entre bool, booleano, pequeño * int (1)?

Semántica en su mayoría.

Bool y Boolean: MySQL los convierte por defecto al tipo tinyint. Según una declaración de MySQL hecha en el momento de escribir estas líneas, "pretendemos implementar un manejo de tipo booleano completo, de acuerdo con el estándar SQL, en una futura versión de MySQL".

0 = FALSE 1 = TRUE

TINYINT: ocupa un byte; oscila entre -128 y +127; o, 0 - 256.


comúnmente criado en esta comparación: Después de MySQL 5.0.3 - bits: utiliza 8 bytes y almacena sólo datos binarios.

+1

Esto realmente no responde la pregunta. ¿Cuál es la diferencia entre 'BOOL' y' BOOLEAN'? – nalply

+7

Las publicaciones anteriores ya habían establecido que ambas son sinónimos de TINYINT (1). Idealmente, la siguiente pregunta sería "¿Por qué, entonces, diferenciaron entre los tipos de datos?" – Sixthfore

+1

@Sixthfore el 'Bit: utiliza 8 bytes y almacena solo datos binarios. Es información incorrecta. Cuando agrega una columna de bit a su tabla, ocupará un byte completo en cada registro, no solo un bit. Cuando agrega una segunda columna de bit, se almacenará en el mismo byte. La columna del noveno bit requerirá un segundo byte de almacenamiento. – Kolyunya

Cuestiones relacionadas