mysql> select doc, term, item from relevanssi where doc = 26331;
+-------+------------------------+------+
| doc | term | item |
+-------+------------------------+------+
| 26331 | yes | 0 |
| 26331 | zero | 0 |
| 26331 | ??? | 0 |
| 26331 | ??? | 0 |
| 26331 | ???? | 0 |
+-------+------------------------+------+
我不知道那些“???”是。它们不会出现在查询中:
select doc, term, item from relevanssi where doc = 26331 and term = '???';
Empty set (0.00 sec)
我真的想删除那些“???”行。我怎么做?
答案 0 :(得分:2)
可能有一些编码错误的字符以?
结尾。您可以使用主键(id)删除它们。在您的情况下,它可能很难,因为您没有唯一的主键。
也许您可以创建一个具有自动增量值的列,并使用生成的ID删除它们。
答案 1 :(得分:2)
我有这个问题。这就是我的所作所为。
select doc, term, HEX(term) hexterm, item from relevanssi where doc = 26331;
这将以十六进制显示您的混乱列值。
然后,当您知道要删除的内容时,您可以执行此操作
delete from relevanssi where doc = 26331 AND HEX(term) = 'value from hexterm column'
(对于Relevanssi插件开发者来说,值得回应的是用户的询问。)