为什么mysql将bool转换为tinyint(1)而不是应该将bool转换为mysql表

时间:2015-04-23 09:24:32

标签: php mysql

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

2 个答案:

答案 0 :(得分:3)

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

BOOL等同于TINYINT(1)。

答案 1 :(得分:3)

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
) 

谢谢, 阿米特