小编典典

BIT(1)或TINYINT用于MySQL中的标志

sql

我经常在一些表中需要存储一个可以为1或0(true或false,等等)的标志。

我以前用过TINYINT。

我应该改用BIT(1)吗?为什么或者为什么不?


阅读 313

收藏
2021-03-23

共1个答案

小编典典

如果您使用的是更高版本的mysql版本,那么5.0.3Bit不再是它的别名,Tinyint但是如果您创建了一个bit列,它还是会得到1 Byte

因此使用Bit(1)Tinyint(1)等于,如果表只有1Bit列,则不会有任何好处。

但是,如果您有更多对/错列,我建议您使用,Bit因为将位列的每个值放置在相同位置,1 Byte直到填充为止。

如果您使用mysql较低的版本,那么5.0.3则使用tinyintbit完全可以。如果您查看有关bool类型的mysql文档,您会发现它是以下内容的别名tinyint

http://dev.mysql.com/doc/refman/5.0/en/numeric-type-
overview.html

布尔,布尔

这些类型是TINYINT(1)的同义词。零值被认为是错误的。非零值被认为是正确的:


BIT是TINYINT(1)的同义词。

2021-03-23