mysql - 如何使用 MATCH...AGAINST 查询搜索文本?

标签 mysql

表格

id    name
---  ------
1    chinu
2    sanjib
3    chinmay

我的 MYSQL 查询

SELECT * FROM users WHERE MATCH (name) AGAINST ('chi' IN BOOLEAN MODE)

在上面的查询中,我得到 0 记录。

我的输出即将到来

1   chinu
3   chinmay

如何使用 MATCH...AGAINST 查询获取我的实际记录?

编辑 - 如果我搜索 chinu 而不是 chi,我会得到 1 条记录。

最佳答案

您需要向“chi”添加一个星号,以指示查询应匹配所有包含该字符串的内容,而不仅仅是字符串本身。例如,仅使用字符串“chi”只能完全匹配“chi”。

将您的查询更改为阅读

 SELECT * FROM users WHERE MATCH (name) AGAINST ('chi*' IN BOOLEAN MODE)

您应该会得到您期望的结果。

关于mysql - 如何使用 MATCH...AGAINST 查询搜索文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24511773/

相关文章:

MYSQL 使用别名作为列,以防万一

mysql - 有没有办法从这样的一张表中获取mysql结果?

mysql - MySQL中的两个select错误 “Every derived table must have its own alias”?

javascript - 如何从按钮函数获取值以用于 AJAX 和 sql 查找?

php - 使用 mySQL 在 PHP 中 SQL 不返回结果

mysql - 如何在 MySQL 中查询包含亚洲语言字符的文本?

mysql - 依靠 SQL

MySQL - 为什么索引列上的 select 语句返回索引信息,而不是列数据?

mysql - 用于将一列与另一列进行比较的 SQL 查询

mysql - 一列上的两个外键