mysql无法正确搜索标记。
当前我存储的标记如下所示-
id | name | tags
======+==========+============================
1 | Pen | pen, pencil, writings, edit
------+----------+----------------------------
2 | Money | currency, penny, dollar
------+----------+----------------------------
3 | Car | suspension, fast
------+----------+----------------------------
当前我正在使用此代码目标id%1名称笔(记录%1)
SELECT * FROM ____ WHERE tags LIKE '%pen%'
但我得到这3张唱片是因为-
我只想要记录1,当我搜索关键字pen时
>
如上所述,不要将所有标记存储在单个列中,要将其规范化。例如,您应该有Entity的表(包含Pen,Car等),tags表(Pen,pencil,penny等)和relation表,它们将在索引中的两列中包含两个表的ID。
在当前架构中,可以从以下内容更改搜索条件:
喜欢“%pen%”到=“pen”或喜欢“pen,%”或喜欢“%pen,%”或喜欢“%pen,%”或喜欢“%pen”
。
但你知道,这是一个丑陋的解决方案...