【发布时间】:2015-04-23 09:24:32
【问题描述】:
当我在创建表时使用 type as bool 时,它直接转换为 tinyint (1) ,我不知道为什么 mysql 将其转换为 tinyint 而不是数据类型 bool ?
【问题讨论】:
当我在创建表时使用 type as bool 时,它直接转换为 tinyint (1) ,我不知道为什么 mysql 将其转换为 tinyint 而不是数据类型 bool ?
【问题讨论】:
BOOL 相当于 TINYINT(1)。 TINYINT 使用最小的整数数据类型。
所以每当您尝试使用 boolean 数据类型创建表时,它会自动转换为 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
)
谢谢, 阿米特
【讨论】:
TINYINT 使用最小的整数数据类型。
BOOL 相当于 TINYINT(1)。
【讨论】: