Mysql 布尔和蒂尼(1)。。。没有签名?

Mysql 布尔和蒂尼(1)。。。没有签名?,mysql,boolean,Mysql,Boolean,我已经读到mysql中的bool类型是tinyint(1)的别名,因此我应该使用tinyint 我的问题如下: 我需要声明它没有签名吗,我是说,有必要吗 purchased tinyint(1) unsigned not null DEFAULT 0, or purchased tinyint(1) not null DEFAULT 0, 不必声明它为无符号,尤其是当您使用它存储布尔值时。这不是必需的;让它签字。事实上,不管怎样,0和1都在TINYINT的有效值范围内,而不管其符号是什么

我已经读到mysql中的bool类型是tinyint(1)的别名,因此我应该使用tinyint

我的问题如下: 我需要声明它没有签名吗,我是说,有必要吗

purchased tinyint(1) unsigned not null DEFAULT 0,

or

purchased tinyint(1) not null DEFAULT 0,

不必声明它为无符号,尤其是当您使用它存储布尔值时。

这不是必需的;让它签字。事实上,不管怎样,0和1都在
TINYINT
的有效值范围内,而不管其符号是什么


但是,说真的,只要声明它是一个
BOOL
,它就很清楚它是一个真值还是假值。

使用BOOL有什么问题吗?“因此我应该使用tinyint”-为什么会这样?布尔非常好,(在我看来)更能表达你的意图
TINYINT(1)
可能表示“0到9之间的任何值”
BOOL
的具体意思是“0或1”(虽然我想你可能会歪曲你的意图:-)。我不知道我可以在mysql中使用BOOL,我认为mysql中不支持BOOL。。。。永不迟到学习…
BOOL
TINYINT(1)
的同义词。某些版本可能不支持BOOL,使用TINYINT也很好,因为如果需要在不同的SQL中使用查询,则更容易转换!