分享知识的快乐,尊重他人创造的知识 注册 | 登陆

数据库用Int字段,保存多项选择的结果

今天在设计数据库的时候遇到一个 三个选项 组合选择的结果保存的问题。
一开始想用 字符串分隔的方式。
后来想想是不是可以用 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。再次感谢 河马帮我开窍

Tags: 二进制, 与运算, int, 多项选择

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8

1条记录访客评论

想想LINUX里的wrx,不也正是421?
记得博客园有篇类似的文章,不过,那文章是将这个用于枚举。

Post by lly365[偶忘了密 on 2008, November 8, 2:50 PM 引用此文发表评论 #1


发表评论

评论内容 (必填):