Al considerar sólo dos valores posibles, 0 & 1 o verdadero & falso, es bastante obvio que BIT (1) hace un mejor trabajo:¿Por qué MySQL interpreta Boolean como TINYINT (1) en lugar de BIT (1)?
- bit (1) Fuerzas sólo 2 valores posibles: 0 y 1 , mientras TINYINT (1) puede aceptar valores enteros menores que 10 (0,1,2,3,4,5 ....) que pueden ser ambiguos.
- Varias columnas BIT (1) se pueden combinar en bytes, por lo que requieren menos espacio que las columnas TINYINT (1).
¿Por qué MySQL interpreta Boolean como TINYINT (1), pero no como BIT (1)? ¿Hay alguna ventaja de usar TINYINT (1) sobre BIT (1) en el manejo de valores booleanos?
+1 Por inercia. Sigo usando 'TININTINT (1)' en casi todas las circunstancias sin una buena razón. –
+1 por inercia también. Todavía uso TINYINT (1) porque mi editor de SQL favorito no permite la edición de datos BIT tan simple como para TINYINT ... y puede ahorrar mucho tiempo en algunos casos. – Donatello