簡體   English   中英

mysql匹配完全短語不起作用

[英]mysql match against exact phrase doesn't work

我試圖找到一個確切的短語但由於某種原因,它找到了與其他單詞的匹配,這里是代碼:

$subLocationId = DB::select( 

DB::raw(' SELECT id  FROM sub_location WHERE match(sub_location_name) against("' .
    $subLocationName . '" IN BOOLEAN MODE ) ' )

);

上面是Laravel ORM查詢,這里是常規的mysql:

' SELECT id  FROM sub_location WHERE match(sub_location_name) 
  against("' .$subLocationName . '" IN BOOLEAN MODE ) '

我輸入:“商業灣”,但它匹配“53商業灣”,我希望它只匹配“商業灣”,而不是前面或后面的任何額外的話

你為什么不用它

$subLocationId = DB::select( 
  DB::raw("SELECT id  FROM sub_location sub_location_name='" . $subLocationName. "'" )

);

您可以使用以下查詢輕松實現它:

\DB::table('sub_location')
  ->select(['id'])
  ->where('sub_location_name', $subLocationName);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM