加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MYSQL教程MYSQL SET类型字段的SQL操作知识介绍

发布时间:2020-12-12 00:46:11 所属栏目:MySql教程 来源:网络整理
导读:《MYSQL教程MYSQL SET类型字段的SQL操作知识介绍》要点: 本文介绍了MYSQL教程MYSQL SET类型字段的SQL操作知识介绍,希望对您有用。如果有疑问,可以联系我们。 代码如下: em`mark` set('index','best','hot')/em? 用的人少,懂的人也少,找了很久,总算凑齐了

《MYSQL教程MYSQL SET类型字段的SQL操作知识介绍》要点:
本文介绍了MYSQL教程MYSQL SET类型字段的SQL操作知识介绍,希望对您有用。如果有疑问,可以联系我们。

代码如下:
<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?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读