我想在用户输入时更新搜索结果。
我正在使用 MATCH 将搜索词与行进行比较。 MATCH 很棒,因为它不区分大小写,并且将重音字符视为常规字符。
我对这个实现的问题是,它只能在用户键入完整单词时找到结果。
E.G: If the user types `arbol` MATCH finds all similar rows (árbol, Arbol etc)
however when he just typed `árb` MATCH doesn't find any results.
我应该如何编写 WHERE 子句,以便它显示所有出现的情况,无论是在字符串中还是在子字符串中?
最佳答案
将通配符 (*) 附加到您的匹配字符串应该可以满足您的要求。
WHERE MATCH (columnName) AGAINST ("term*");
编辑:哦,你需要:
IN BOOLEAN MODE
以及使用通配符匹配。
关于MySQL 在行值中查找子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9284608/