首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在MySQL中BIT和TINYINT有什么区别?

在MySQL中BIT和TINYINT有什么区别?
EN

Stack Overflow用户
提问于 2008-11-14 14:29:46
回答 4查看 123.2K关注 0票数 114

在哪种情况下,你会使用哪种?有很大的不同吗?持久性引擎通常使用它来存储布尔值?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-11-14 14:39:01

TINYINT是一个8位的整数值,一个位字段可以存储1位,位(1)和64位,位(64)。对于布尔值,位(1)是很常见的。

票数 133
EN

Stack Overflow用户

发布于 2011-02-08 20:34:07

所有这些理论上的讨论都很棒,但在现实中,至少如果您正在使用MySQL,并且真的也在使用SQLServer,那么最好在布尔值中使用非二进制数据,原因很简单,因为在输出数据、查询等等时,使用非二进制数据会更容易。如果您试图实现MySQL和SQLServer之间的互操作性(即在两者之间同步数据),这一点尤其重要,因为它们对位数据类型的处理是不同的。因此,在实践中,如果您坚持使用数值数据类型,您将会遇到很多麻烦。我建议MySQL坚持使用BOOL或BOOLEAN,它们被存储为TINYINT(1)。即使是MySQL工作台和MySQL管理器显示BIT数据类型的方式也不是很好(它是二进制数据的一个小符号)。所以实事求是一点,省去你自己的麻烦(不幸的是,我是凭经验说的)。

票数 43
EN

Stack Overflow用户

发布于 2008-11-14 14:36:14

可能是错误的,但是:

Tinyint是介于0和255之间的整数

位为1或0

因此,对我来说,bit是布尔值的选择

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/290223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档