在哪种情况下,你会使用哪种?有很大的不同吗?持久性引擎通常使用它来存储布尔值?
发布于 2008-11-14 14:39:01
TINYINT是一个8位的整数值,一个位字段可以存储1位,位(1)和64位,位(64)。对于布尔值,位(1)是很常见的。
发布于 2011-02-08 20:34:07
所有这些理论上的讨论都很棒,但在现实中,至少如果您正在使用MySQL,并且真的也在使用SQLServer,那么最好在布尔值中使用非二进制数据,原因很简单,因为在输出数据、查询等等时,使用非二进制数据会更容易。如果您试图实现MySQL和SQLServer之间的互操作性(即在两者之间同步数据),这一点尤其重要,因为它们对位数据类型的处理是不同的。因此,在实践中,如果您坚持使用数值数据类型,您将会遇到很多麻烦。我建议MySQL坚持使用BOOL或BOOLEAN,它们被存储为TINYINT(1)。即使是MySQL工作台和MySQL管理器显示BIT数据类型的方式也不是很好(它是二进制数据的一个小符号)。所以实事求是一点,省去你自己的麻烦(不幸的是,我是凭经验说的)。
发布于 2008-11-14 14:36:14
可能是错误的,但是:
Tinyint是介于0和255之间的整数
位为1或0
因此,对我来说,bit是布尔值的选择
https://stackoverflow.com/questions/290223
复制相似问题