Php 为什么mysql将bool转换成tinyint(1),而应该将它转换成mysql表

Php 为什么mysql将bool转换成tinyint(1),而应该将它转换成mysql表,php,mysql,Php,Mysql,当我在创建表时使用类型作为bool,它被直接转换为tinyint(1),我不知道mysql为什么将它转换为tinyint而不是数据类型bool TINYINT使用最小的整数数据类型 BOOL是TINYINT(1)的等价物。BOOL是TINYINT(1)的等价物。TINYINT使用最小的整数数据类型 因此,每当您尝试使用布尔数据类型创建表时,它会自动转换为inttype e.g. CREATE TABLE IF NOT EXISTS `test` ( `p_id` int(11) NOT N

当我在创建表时使用类型作为bool,它被直接转换为tinyint(1),我不知道mysql为什么将它转换为tinyint而不是数据类型bool

TINYINT使用最小的整数数据类型


BOOL是TINYINT(1)的等价物。

BOOL是TINYINT(1)的等价物。TINYINT使用最小的整数数据类型

因此,每当您尝试使用布尔数据类型创建表时,它会自动转换为inttype

e.g.
CREATE TABLE IF NOT EXISTS `test` 
(
  `p_id` int(11) NOT NULL,
  `p_name` varchar(25) NOT NULL,
  `p_description` varchar(100) NOT NULL,
  `p_status` bool NOT NULL DEFAULT TRUE
) 
谢谢, Amit

有关更多信息,请参阅: