我有这张桌子:
// qanda
+----+---------+-----------------------+------------------------+
| id | title | content | tags |
+----+---------+-----------------------+------------------------+
| 1 | title1 | content1 | <a>tagA<a/><a>tagB</a> |
| 2 | title2 | content2 | <a>tagA</a><a>tagC</a> |
| 3 | title3 | content3 | <a>tagM</a><a>tagB</a> |
| 4 | title4 | content4 | <a>tagD</a> |
| 5 | title5 | content5 | <a>tagA</a><a>tagG</a> |
+----+---------+-----------------------+------------------------+
我想选择tagB
的每一行。所以这是预期的结果:
+----+---------+-----------------------+------------------------+
| 1 | title1 | content1 | <a>tagA<a/><a>tagB</a> |
| 3 | title3 | content3 | <a>tagM</a><a>tagB</a> |
+----+---------+-----------------------+------------------------+
我该怎么做?
目前我在tags
列上创建了一个 FULLTEXT 索引,发现如下:
. . . WHERE MATCH ( tags ) AGAINST ( :tag )
但我的方法有两个问题:
有时tags
列包含类似此值的内容:<a class="tagA">tagB</a>
。在这种情况下,我只想为tagB
选择该行,但会为tagA
和tagB
选择该行。
我无法选择多个标签。例如:我无法选择包含tagA
或tagB
或tagC
的行。
答案 0 :(得分:-1)