程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql 全文檢索的匹配問題,mysql全文檢索匹配

mysql 全文檢索的匹配問題,mysql全文檢索匹配

編輯:MySQL綜合教程

mysql 全文檢索的匹配問題,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

 


mysql全文匹配搜索字串中含圓括號()怎辦?

[(]
[)]
特殊符號用中括號括起來就是原意,同理還有[-]等
 

mysql全文檢索的問題

這個簡單
alter table `tmp` add fulltext(`column_1`,`column_2`....); /***添加**/
//查詢
select * from `tmp` where match(`column_1`,`column_2`) against('$key')
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved