今天在设计数据库的时候遇到一个 三个选项 组合选择的结果保存的问题。
一开始想用 字符串分隔的方式。
后来想想是不是可以用 int字段。
于是向lamking 请教一下。他说用数字电路 二进制的思路可以解决。
[] 自己 []朋友 []亲人
这三项为 多选。
那么定三个值为 1, 2,4
保存在数据库就会有 1,2,3,4,5,6,7 这些数字。
其中:
4 ,5 ,6 , 7 为都选中 亲人
1,3,5,7 为都选中 自己
2,3,6,7 为都选中 朋友
通过 二进制的与运算〔如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。)
那么 如果要求 是不是选中 亲人。只要传进来4 和数据库的Int字段值 做二进制与运算 就可以得到
Ok。再次感谢 河马帮我开窍

#1