1.每一个状态的二进制初始化
2.判断是否有这一个状态码
假如后台进行判断是否有手机绑定这一个状态 数据库初始值为0
0000-----------一个0代表一个状态
&
0001------------手机的初始值是1 变成二进制就是0001
==========
0000-------------按照& 的规则就是全部为true才是true 1代表true 这里的结果就是0000 所以数据库中没有这一个状态码
2.添加一个状态码
同上的
0000
|
0001
==========
0001 ----------或的规则就是只要有一个true就是true 这里的结果就是0001 返回的值就是0001 保存到数据库中就是0001
3.删除状态码
0001
^
0001
=====
0000 -------------------当两个状态相同时就删除 两个都为true就为0 这里的结果就是0000
在看这篇文章之前 ,你必须要先去了解一下二进制,不然会很懵逼,熟悉下二进制的相关转换
通过这篇文章的话,你会发现如果一个项目中有很多的状态码,就会造成数据库的字段臃肿,每一个状态都需要一个字段
然而这里一个字段就搞定了,你所有的烦恼