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 … Continue reading How to Map MySQL’s TINYINT(1) to Boolean in jOOQ →
Are bools bools in MySQL - no they're not! Lets show this:
mysql> CREATE TABLE healthcheck ( isworking bool ) ENGINE=MEMORY;Query OK, 0 rows affected (0.14 sec)
mysql> show create table healthcheck\G
*************************** 1. row ***************************
Table: healthcheck
Create Table: CREATE TABLE `healthcheck` (
`isworking` tinyint(1) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
So a 'bool' in MySQL is actually a signed tinyint that has range
-128 to 127. This information is actually hidden away in the
bowels of the MySQL documentation at:http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html"[bool]
These types are synonyms for TINYINT(1)
. A value …