是的,MySQL内部将bool转换为tinyint(1),因为tinyint是最小的整数数据类型。
您也可以说bool是tinyint(1)的同义词。让我们首先创建一个示例表:mysql> create table boolToTinyIntDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(20),
-> isAgeGreaterThan18 bool
-> );
现在让我们检查表的描述:mysql> desc boolToTinyIntDemo;
这将产生以下输出+--------------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+-------------+------+-----+---------+----------------+
| Id | int(11) | NO | PRI | NULL | auto_increment |
| Name | varchar(20) | YES | | NULL | |
| isAgeGreaterThan18 | tinyint(1) | YES | | NULL |