我经常有一些表需要存储一个标志,该标志可以是 1 或 0(真或假等)。
我以前用过 TINYINT。
我应该使用 BIT(1) 吗?为什么或者为什么不?
如果您使用的 mysql 版本高于 5.0.3Bit
不再是别名Tinyint
但如果你创建一个bit
无论如何它都会得到的列1 Byte
.
so use Bit(1)
or Tinyint(1)
是平等的,如果你的桌子上只有 1 个,你就得不到任何好处Bit
柱子。
但如果您有更多真/假列,我建议您使用Bit
因为位列的每个值都放置在相同的1 Byte
直到填满。
如果你使用低于 5.0.3 的 mysql,那么使用tinyint
or bit
完全没问题。如果你查看 mysql 文档bool
您看到它是其别名的类型tinyint
http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html
布尔值、布尔值
这些类型是 TINYINT(1) 的同义词。考虑零值
错误的。非零值被视为 true:
BIT 是 TINYINT(1) 的同义词。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)