1. 问答
  2. 问答详情

mysql bit 和 tinyint 的区别及使用场景

关于代表数据类型或状态的字段之前一直用的 tinyint

bit类型,知道bit是存储二进制的,格式: b'0'b'1'
其存储的单位直接是 bit ,而 tinyint 的最小单位是1字节。
有人说文章说 bit 不支持索引,文章来源:【MySQL】bit 类型引发的故事

个人认为:因为 php 是弱类型的, bit 类型查询没有 tinyint 方便

1个回答

0

采纳

tinyint

是数字类型,存储小数, 一般对应编辑语言里的小字典或枚举类型. 节省空间的同时, 避免存入超范围的值
bit

多用于存储状态. 如bit(1) 直接对应Java语言的布尔类型true和false. 用做状态保存时一个字段可以保存多至64个状态

如开发的某个系统需要保存对用户发送短信的状态,有10几种不同类型的短信,每种都要标记发过没有, 

这时候用bit类型就很方便,当然用int也能实现,但用bit更符合语义,查询或更新某个状态时按位操作即可

撰写答案

验证码
点击刷新