mysql SET 数据类型的使用


//创建文章表
CREATE TABLE article(
id INT PRIMARY KEY AUTO_INCREMENT,
flag SET('推荐','热门', '置顶', '图文') DEFAULT NULL
)ENGINE = INNODB CHARSET utf8 COMMENT='文章表';


INSERT INTO article(flag)
VALUES('图文,推荐,置顶'),
('置顶'),
('推荐,置顶'),
('热门,推荐');

1.使用FIND_IN_SET(str,strlist)查询
SELECT * FROM article WHERE FIND_IN_SET('推荐',flag) AND FIND_IN_SET('置顶',flag);

2.使用二进制位查询,&位运算符和,~非
对应下标为1的十进制转换为二进制,即二进制是00000001,也可以写成0001
SELECT * FROM article WHERE flag = flag&~00000001;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM