MySQL:一位的最小数据类型

Posted

技术标签:

【中文标题】MySQL:一位的最小数据类型【英文标题】:MySQL: Smallest datatype for one bit 【发布时间】:2011-06-25 12:08:52 【问题描述】:

我想在表中添加一个包含两个值之一的列:1 或 0。

mysql 中存储数据的最小数据类型是什么?

TINYINT(1) 可以包含介于 -127127 之间的数字。

【问题讨论】:

【参考方案1】:

你可以使用 bit(1)

http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html

BOOL 作为 TINYINT 存储在 MySQL 中,需要 1 个完整字节

http://dev.mysql.com/doc/refman/5.0/en/other-vendor-data-types.html

位 (1) 通常也占用 1 个字节,但如果单个记录中有多个位,则它们将存储在同一个字节中,每个字节最多 8 个。

【讨论】:

单个 BIT 列也将占用一个完整字节。但是,如果您有 8 个 BIT 并排,它们将占用一个字节。 @Mchl - 我只是在打字 @Mchl - 你是说(将位适当地打包成一个字节)8 列必须一起声明,它们之间没有其他列? @Damien - 不,他们只需要在同一张桌子上。 让我感到困惑的是“彼此相邻”这句话(在 Mchls 的评论中)【参考方案2】:

这是布尔数据类型的理想情况

【讨论】:

以上是关于MySQL:一位的最小数据类型的主要内容,如果未能解决你的问题,请参考以下文章

Python数据类型和字符编码

c语言如何判断一个数组的最后一位的下标,求大神

关于指针类型和指针类型转换的理解

关于指针类型和指针类型转换的理解

C语言变量的基本类型都有哪些?

复选框与bitmap算法实践