MYSQL SET类型字段的SQL操作知识介绍
更新时间:2013年07月02日 11:49:38 作者:
本篇文章是对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
您可能感兴趣的文章:
相关文章
2022最新版MySQL 8.0.30 安装及配置教程(小白入门)
这篇文章主要介绍了2022最新版MySQL 8.0.30 安装及配置教程,安装过程算是比较简单的,今天给大家分享的此文比较适合mysql数据库的小白,需要的朋友可以参考下2022-09-09MySQL的时间差函数(TIMESTAMPDIFF、DATEDIFF)、日期转换计算函数(date_add、day、da
这篇文章主要介绍了MySQL的时间差函数(TIMESTAMPDIFF、DATEDIFF)、日期转换计算函数(date_add、day、date_format、str_to_date),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-12-12Mysql数据库编码问题 (修改数据库,表,字段编码为utf8)
个人建议,数据库字符集尽量使用 utf8(HTML页面对应的是utf-8),以使你的数据能很顺利的实现迁移2011-10-10关于sql count(列名)、count(常量)、count(*)之间的区别
这篇文章主要介绍了关于sql count(列名)、count(常量)、count(*)之间的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-08-08
最新评论