MySQL SET类型字段的SQL操作知识介绍

2022-11-12 09:30:53
内容摘要
这篇文章主要为大家详细介绍了MySQL SET类型字段的SQL操作知识介绍,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记! 代码如下: <em>`mar
文章正文

这篇文章主要为大家详细介绍了MySQL SET类型字段的SQL操作知识介绍,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

代码如下:


<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操作知识介绍的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!