如何搜索关键字mysql

z4bn682m  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(355)

我做了两个表1)存储关键字2)有文章标题和关键字
在article表中,关键字id以集合形式存储,如(1,2,3,6,7)
现在我想搜索关键字和标题的最大发生率的用户价值;
示例关键字表笔-1纸-2铅笔-3 a4-4记号笔-5
文章表标题关键词神奇铅笔用纸1,2,4
用户搜索魔笔
怎样才能有效搜索

yrwegjxp

yrwegjxp1#

最好的解决方案是使该字段不包含逗号分隔的所有关键字值,如 1,2,3,4 你应该管理它的多对多表
例如:
关键词
文章
关键字到文章(id,关键字id,文章id)
这样做之后,您的数据库将处于第三范式,通过执行

select a.*
from articles a
join keywords_to_articles ka on ka.article_id = a.id
join keywords k on k.id = ka.keyword_id and k.name = '$keyword'

这里我假设在关键字表中存储 name 现场。
像上面提到的那样做将是一个有效的方法。

相关问题