Del manual de MySQL, dice:
BOOL, BOOLEAN
Estos tipos son sinónimos de TINYINT (1). Un valor de cero se considera falso. Los valores distintos de cero se consideran verdaderos:
Creé una columna BOOLEAN con 0el valor predeterminado. Luego actualizo el valor a 2. Lógicamente, yo esperaría MySQL para aceptar cualquiera 0o 1ya que es un valor lógico. Sin embargo, MySQL no emitió un error ni me impidió realizar la actualización.
Si BOOLEAN funciona exactamente igual que TINYINT (1), ¿hay alguna diferencia si uso TINYINT (1) o BOOLEAN?
BITes realmente un campo de bits que contiene de uno a sesenta y cuatro bits de forma compacta.