//創建文章表
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;