MySQL Data-Types

BOOL or BOOLEAN in MySQL

MySQL does not have a built-in, dedicated boolean data type. Instead, users have generally implemented it through the TINYINT(1) data type. [...] The idea is to use that data type to store boolean values where 0 is considered false and 1 is considered true.

MySQL 5.5 introduced the BOOL or BOOLEAN types as aliases of TINYINT(1). They are equivalent.

A BOOLEAN column in MySQL can take on the values TRUE and FALSE. Actually, any integer value other than 0 evaluates to TRUE Conversely, FALSE evaluates to 0 and TRUE evaluates to 1.