我经常在一些表中需要存储一个可以为1或0(true或false,等等)的标志。
我以前用过TINYINT。
我应该改用BIT(1)吗?为什么或者为什么不?
如果您使用的是更高版本的mysql版本,那么5.0.3Bit不再是它的别名,Tinyint但是如果您创建了一个bit列,它还是会得到1 Byte。
Bit
Tinyint
bit
1 Byte
因此使用Bit(1)或Tinyint(1)等于,如果表只有1Bit列,则不会有任何好处。
Bit(1)
Tinyint(1)
但是,如果您有更多对/错列,我建议您使用,Bit因为将位列的每个值放置在相同位置,1 Byte直到填充为止。
如果您使用mysql较低的版本,那么5.0.3则使用tinyint或bit完全可以。如果您查看有关bool类型的mysql文档,您会发现它是以下内容的别名tinyint
tinyint
bool
http://dev.mysql.com/doc/refman/5.0/en/numeric-type- overview.html
布尔,布尔 这些类型是TINYINT(1)的同义词。零值被认为是错误的。非零值被认为是正确的:
布尔,布尔
这些类型是TINYINT(1)的同义词。零值被认为是错误的。非零值被认为是正确的:
BIT是TINYINT(1)的同义词。