扫码关注官方订阅号
有一个文章表,文章表中有个关联标签的字段tag tag字段的内容基本是这样的:1,2,3,333,230(关联的标签ID,用逗号隔开) 现在出现问题了,我现在想找到标签ID为3的文章,用LIKE %3%好像会把333,230标签的内容都查出来 在不改变表结构的情况下,有什么查询方法吗?
tag
SELECT * FROM test WHERE find_in_set('3',tag)
tag LIKE '%,3' or tag LIKE '3,%' or tag LIKE '%,3,%'
LIKE %,3,% 加上逗号就好了
find_in_set,用这个可以满足你的要求,不要用like....
我建议使用另外一张表来维护分类关系。find_in_set可是全表扫描,没有使用索引的。到时候数据库会有问题的
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
SELECT * FROM test WHERE find_in_set('3',tag)
LIKE %,3,% 加上逗号就好了
find_in_set,用这个可以满足你的要求,不要用like....
我建议使用另外一张表来维护分类关系。find_in_set可是全表扫描,没有使用索引的。到时候数据库会有问题的