为什么MySQL与列匹配会返回否定结果?

时间:2017-04-21 20:03:34

标签: php mysql select

我刚刚发现MySQL 匹配的好处,但偶然发现了麻烦。

如果连接的table2没有配对的行。 MySQL匹配为具有NULL值的配对/连接列返回负值。从匹配组中删除列会返回相关性的正值。为什么一个NULL列会导致整个匹配返回-2?

select *, match(t1.column1, t1.column2, t1.column3, t1.column4, t2.column5) against ('search string' in boolean mode) as relevance
from table1 t1
left join table2 t2 on (t2.id = t2.column_id)
/*having relevance > 0*/
order by relevance desc;

1 个答案:

答案 0 :(得分:0)

我想。

如果搜索文本包含运算符' - '或者' +'?

只有当你有操作员时,相关性才可能是负面的 - ' - '在您的搜索文本