我读过mysql中的bool类型是tinyint(1)的别名,因此我应该使用tinyint
我的问题如下: 我是否需要声明它是无符号的,我的意思是,是否有必要?
purchased tinyint(1) unsigned not null DEFAULT 0,
or
purchased tinyint(1) not null DEFAULT 0,
答案 0 :(得分:10)
没有必要;留下签名。事实上,无论如何,0和1都在TINYINT
的有效值范围内,无论其签名如何。
但是,严肃地说,只要声明它为BOOL
,它就会非常清楚它是一个真或假的价值。
答案 1 :(得分:3)
没有必要声明它是无符号的,特别是如果你用它来存储一个布尔值。