Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我用关键词标记照片,当点击链接后查看该照片时,我想检索具有相同关键词的照片集合的链接。我已经使用逗号分隔存储了标签关键词。任何人都可以建议我如何获得该数据?
一个简单的解决方案是使用利用LIKE 子句的查询:
SELECT * FROM `photo` WHERE `keywords` LIKE "%' . $keyword . '%"
但是请记住,以逗号分隔的列表并不是执行此操作的最佳做法。通过将其保留在此列表中,您会占用不必要的空间,从而减慢传输时间并占用冗余空间。
理想情况下,您应该让另一个表处理标签(并将标签关键字链接到另一个表中)并简单地加入表以获得您的结果。
MySQL 有一个FIND_IN_SET()可以用于此的函数:
FIND_IN_SET()
SELECT * FROM Table WHERE FIND_IN_SET("tag", keywords) > 0