6
當我在創建表時使用type爲bool時,它直接轉換爲tinyint(1),我不知道爲什麼mysql轉換它變成tinyint而不是數據類型bool?爲什麼mysql將bool轉換爲tinyint(1)而不是它應該布爾到mysql表中
當我在創建表時使用type爲bool時,它直接轉換爲tinyint(1),我不知道爲什麼mysql轉換它變成tinyint而不是數據類型bool?爲什麼mysql將bool轉換爲tinyint(1)而不是它應該布爾到mysql表中
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
)
感謝, 阿米特
TINYINT使用最小的整數數據類型。
BOOL等同於TINYINT(1)。
欲瞭解更多信息,請參閱:[布爾VS TINYINT(1)對於MySQL中的布爾值](http://stackoverflow.com/questions/3751853/boolean-vs-tinyint1-for-boolean-values-in-mysql) –