如何在标签列表的标签栏中准确选择标签?
例如,下面是使用查询创建的表,但我想缩小搜索范围,
page_id tags
1 tile-1,tile-12,tile-10
2 tile-1,tile-10
3 tile-12,tile-10
4 tile-15,tile-16
我想要的结果是仅包含tile-1
的页面,
page_id tags
1 tile-1,tile-12,tile-10
2 tile-1,tile-10
但我在下面处理的查询会返回所有这些,包括 tile-12
、tile-10
等。
SELECT*
FROM (...) AS k
WHERE k.tags LIKE '%tile-1%'
我可以不使用LIKE
吗?
最佳答案
我建议将架构更改为 page_id、标签。这样你的数据应该是这样的
1 tile-1
1 tile-12
1 tile-10
2 tile-1
2 tile-10
3 tile-12
3 tile-10
4 tile-15
4 tile-16
然后您可以通过一个简单的查询来完成所有这些,
SELECT * FROM table WHERE tag = 'title-1';
这样您就不必搜索表(表扫描) - 一旦表有更多行(可扩展的解决方案),这将成为问题。 其次,您可以在标签列上使用索引,以使搜索速度超快。
关于php - 如何从标签列表的标签栏中准确选择标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8145936/