MySql Match()对()返回包含单词的所有行
我目前使用下面的查询来获取搜索结果,它工作正常MySql Match()对()返回包含单词的所有行,mysql,sql,Mysql,Sql,我目前使用下面的查询来获取搜索结果,它工作正常 从匹配(名称)的表中选择名称(:布尔模式下的searchTerm) 问题是,如果一行包含单词MariaDb,并且用户搜索Maria,则不会返回任何结果。如何执行搜索查询,返回包含单词Maria的所有行 用户还可以搜索多个单词,如计算机软件您需要使用操作员,如此链接中所示: 因此,根据需要的运算符更改搜索词。 你的例子是: 要将MariaDB与Maria word匹配,您的搜索词应为:Maria* select name from table whe
从匹配(名称)的表中选择名称(:布尔模式下的searchTerm)
问题是,如果一行包含单词MariaDb
,并且用户搜索Maria
,则不会返回任何结果。如何执行搜索查询,返回包含单词Maria
的所有行
用户还可以搜索多个单词,如
计算机软件
您需要使用操作员,如此链接中所示:
因此,根据需要的运算符更改搜索词。
你的例子是:
要将MariaDB与Maria word匹配,您的搜索词应为:Maria*
select name from table where MATCH(name) AGAINST('maria*' IN BOOLEAN MODE)
您的记录中是否有50%或50%以上包含单词
Maria
?不,只有一行的名称为MariaDB
您如何定义searchItem
?用双引号还是单引号?@PM77-1我什么都不用。看到我上面发布的sql了吗?是一样的。我用PDO来做这个。