Ma faute, j'aurais dû mettre le "BOOL" un peu plus en évidence, désolé.
Je voulais simplement dire que pour un champ qui ne prendra que 2 valeurs, l'une vraie et l'autre fausse, un champ BOOL s'impose de lui-même : TRUE, FALSE, rien d'autre.
Bien sûr, le type tinyint(1) fait l'affaire, et on peut aussi utiliser des champs de type enum ou set, mais puisque c'est un comportement booléen, pourquoi se priver du typé dédié ? 