Saltar al contenido

Verdadero/Falso vs 0/1 en MySQL

Si hallas alguna incompatibilidad en tu código o trabajo, recuerda probar siempre en un ambiente de testing antes añadir el código al proyecto final.

Solución:

Algunos “front-ends”, con la opción “Usar booleanos” habilitada, tratarán todas las columnas TINYINT(1) como booleanas y viceversa.

Esto le permite, en la aplicación, usar VERDADERO y FALSO en lugar de 1 y 0.

Esto no afecta en absoluto a la base de datos, ya que está implementado en la aplicación.

no hay realmente un BOOLEAN escriba MySQL. BOOLEAN es solo un sinónimo de TINYINT(1), y TRUE y FALSE son sinónimos de 1 y 0.

Si la conversión se realiza en el compilador, no habrá diferencia en el rendimiento de la aplicación. De lo contrario, la diferencia aún no se notará.

Debe usar cualquier método que le permita codificar de manera más eficiente, aunque no usar la función puede reducir la dependencia de ese proveedor de “front-end” en particular.

en mysql TRUE y FALSE están sinónimos por TINYINT(1).

Entonces, por lo tanto, es básicamente lo mismo, pero MySQL se está convirtiendo a 0/1, así que solo use un TINYINT si eso es más fácil para ti

PD

los rendimiento es probable que sea tan minúsculo (si es que lo es), que si necesita preguntar en StackOverflow, entonces no afectará su base de datos 🙂

Bit también es una opción si tinyint no es de tu agrado. Algunos enlaces:

  • Qué tipo de datos MySQL usar para almacenar valores booleanos
  • ¿Cuál es la diferencia entre BIT y TINYINT en MySQL?

No es sorprendente que haya más información disponible sobre los tipos numéricos en el manual.

Un enlace más: http://blog.mclaughlinsoftware.com/2010/02/26/mysql-boolean-data-type/

Y una cita de la sección de comentarios del artículo anterior:

  • TINYINT(1) no es sinónimo de bit(1).
  • TINYINT(1) puede almacenar -9 a 9.
  • TINYINT(1) SIN FIRMA: 0-9
  • BIT(1): 0, 1. (Bit, literalmente).

Editar: esta edición (y respuesta) solo está remotamente relacionada con la pregunta original …

Citas adicionales de Justin Rovang y el autor maclochlainn (sección de comentarios del artículo vinculado).

Disculpe, parece que he sido víctima del substr-ismo: TINYINT(1): -128-+127 TINYINT(1) SIN FIRMAR: 0-255 (Justin Rovang 25 de agosto de 11 a las 4:32 p. m.)

Es cierto, pero la publicación trataba sobre lo que PHPMyAdmin enumeró como booleano, y allí solo usa 0 o 1 de toda la amplia gama de 256 posibilidades. (maclochlainn 25 ago 11 a las 11:35 pm)

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *