当我在创建表时使用type作为bool时,它直接转换为tinyint(1),我不知道为什么mysql将其转换为tinyint而不是数据类型bool?
答案 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
)
谢谢, 阿米特