mysql 全文检索的匹配问题

开发过程中碰到一个关于mysql 全文检索的问题,控制台打印的SQL语句拿到数据库里执行,结果不对。后来发现原来是少了双引号。下面是网上找到的资料,我是看到这个才意识到自己的问题。

这是之前在数据库执行的SQL语句,检索结果上万条。

SELECT DISTINCT
    c.Rm_Code,
    c.Tsr_Code,
    c.TradeName,
    c.Location,
    c.Tel_Number,
    c.Url,
    c.Nss_category1,
    c.Nss_category2
FROM
    CompanyMst c
INNER JOIN Tradename_keyword t ON t.rm_code = c.rm_code
WHERE
    c.Show_flag = 0
AND MATCH(t.keyword_unicode)AGAINST(
    30d1 30bd 30ca  IN BOOLEAN MODE
)
ORDER BY
    LstEntDtm DESC,
    Rm_Code ASC

这是之后改正后在数据库执行的SQL语句,检索结果11条。

SELECT DISTINCT
    c.Rm_Code,
    c.Tsr_Code,
    c.TradeName,
    c.Location,
    c.Tel_Number,
    c.Url,
    c.Nss_category1,
    c.Nss_category2
FROM
    CompanyMst c
INNER JOIN Tradename_keyword t ON t.rm_code = c.rm_code
WHERE
    c.Show_flag = 0
AND MATCH(t.keyword_unicode)AGAINST(
    "30d1 30bd 30ca " IN BOOLEAN MODE
)
ORDER BY
    LstEntDtm DESC,
    Rm_Code ASC

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。