Pourquoi TINYINT (1) fonctionne-t-il comme un booléen mais INT (1) ne le fait pas?

Pourquoi ne TINYINT(1) travail comme une valeur booléenne? La j'ai compris de l'officiel de docs, (1), il faut dire qu'il a une largeur de 1, donc si je magasin 56j'ai pensé qu'il doit imprimer 5. Mais pour quelque raison, il imprime 1 ou 0.

Et un autre cas est que si je magasin 56 dans un INT(1)puis il imprime 56 (au moins selon SQLFiddle). Ce qui se passe ici?

source d'informationauteur argoneus