我的 MATCH AGAINST 查询有问题。当我传递 onlu 数值时,我在查询中得到 0 结果,这是我的查询:
SELECT * FROM tbl1 WHERE MATCH(
Sub_Name) AGAINST('+praga*' IN BOOLEAN MODE) AND MATCH(
Sub_Address) AGAINST('+203 *' IN BOOLEAN MODE)
//结果找到 0 行
SELECT * FROM tbl1 WHERE MATCH(
Sub_Name) AGAINST('+praga*' IN BOOLEAN MODE) AND MATCH(
Sub_Address) AGAINST('+203 s*' IN BOOLEAN MODE)
//找到结果
当我在 (203) 中使用任何数字时,我得到 0 结果,但我使用任何带有 203 的字符,然后找到结果, 我的地址字段值为“203 surat”
最佳答案
这是因为通配符 * IN BOOLEAN MODE 返回以附加的单词开头的匹配项。在你的情况下,我想没有任何单词以 203 开头。因此,您必须指定充当匹配起始部分的单词/字母。在你的情况下是“S”
关于mysql - 未找到与查询数值匹配的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27171514/