复制代码 代码如下:
<em>`mark` set('index','best','hot')</em> 

用的人少,懂的人也少,找了很久,总算凑齐了一套知识点
看上面的结构,MYSQL不傻,会存index吗,不会,存的是数字
SET字段是利用二进制数字来一一对应你设置的值,比如index,排在第0位,那么2的零次方等于1
复制代码 代码如下:
update from table SET mark=1 

复制代码 代码如下:
update from table SET mark='index' 

上面两个效果是一样的。
接着问题就来了,就像织梦那样,如果我想将一篇文章添加一个热门,但是不想删除其它标识在呢么办,或者我就想删除一个标识,我也不知道以前有什么标识。

以下是添加标识
复制代码 代码如下:
update from table SET mark=mark |1|2

不要问我为什么用|这个东东,上面的意思是添加index、best两个标识,如果只添加hot标识,写成|4就可以了

下面是删除标识
复制代码 代码如下:
update from table SET mark=mark &~4&~1 

好了,我先说了更新,下面说查询
复制代码 代码如下:
SELECT * FROM table WHERE FIND_IN_SET('hot',mark) 

这个是最简单的查询方法,也可以用hot所在位置的二进制数4来替代查询,效率是一样的
也可以这么写:
复制代码 代码如下:
SELECT * FROM table WHERE mark & 1 

标签:
MYSQL,SET类型字段,SQL操作

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“MYSQL SET类型字段的SQL操作知识介绍”
暂无“MYSQL SET类型字段的SQL操作知识介绍”评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。