MySQL 8 does not yet support the BOOLEAN
type as
specified in the SQL standard. There is a DDL “type” called
BOOL
, which is just an alias for
TINYINT
:
create table t(b bool); select table_name, column_name, data_type, column_type from information_schema.columns where table_name = 't';
The above produces:
TABLE_NAME|COLUMN_NAME|DATA_TYPE|COLUMN_TYPE| ----------|-----------|---------|-----------| t |b |tinyint |tinyint(1) |
Notice that BOOL
translates to a specific “type” of
TINYINT
, a TINYINT(1)
, where we might
be inclined to believe that the (1)
corresponds to
some sort of precision, as with …