MySQL数据库中的位操作

本文介绍了MySQL中的位运算概念及应用,包括按位与、按位或、按位异或,并展示了如何利用这些运算是实现用户登录日期记录和用户权限管理的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

位操作即开始学习计算机就接触的
按位与(&): 1&1=1 1&0=0 0&0=0
按位或(|):1|1=1  1|0=1 0|0=0
按位异或(^):1^1=0 0^0=0 1^0=1
这几个运算都支持交换律
MySQL中也支持这几个位运算,今儿遇到记录用户登录日期一功能需求,设计数据库用一位记录一天,第一位记录1号,第二位记录2号登录,这样可节省数据库存储开支。于是用户在一天内登录多次如何存储,于是想起按位或运算可解决此法,第一次登录更新后,按位或时此位不再更新,好用。
记录用户8号有登录。
insert into USER_LOGIN_12 set sinaid=1686497165,LOGIN=64,MON=2 on duplicate key update login=login|128 ;  
用户权限中常用一位代表一个权限的开启与取消,例如
增加某个位上的权限
update table privliages set priv = priv|N;
       N:为对应权限位是1 的的一个十进制数
取消某个位上的权限,
update table privliages set priv = priv^N;
       N是那个位是1的一个十进制数

转载于:https://www.cnblogs.com/martinjinyu/articles/4369086.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值