`mark` set("index","best","hot")用的人少,懂的人也少,找了很久,总算凑齐了一套知识点看上面的结构,MYSQL不傻,会存index吗,不会,存的是数字SET字段是利用二进制数字来一一对应你设置的值,比如index,排在第0位,那么2的零次方等于1update from table SET mark=1update 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 & 1MySQL Left JOIN时指定NULL列返回特定值Oracle中的分支语句相关资讯 MySQL基础教程 MySQL字段类型
- MySQL基础教程:关于varchar(N) (01月22日)
- MySQL SELECT同时UPDATE同一张表 (02/19/2013 07:20:18)
- Linux修改MySQL最大并发连接数 (02/15/2013 15:37:21)
| - 高性能MySQL(第3版) 中文PDF带目 (10/26/2014 10:03:50)
- 如何在MySQL中的获取IP地址的网段 (02/18/2013 12:23:33)
- C++和C#访问MySQL的简单代码示例 (12/21/2012 09:04:10)
|
本文评论 查看全部评论 (0)