-1

次の文字列を見つける必要があります: 'c++'

私のSQLクエリは次のようになります。

SELECT *
FROM shop_product
WHERE
   MATCH(shop_product.name, shop_product.product_model, shop_product.keywords, shop_product.part_number, shop_product.upc, shop_product.brand_name)
   AGAINST ('c++' IN BOOLEAN MODE))
GROUP BY `product_id`
LIMIT 0, 25

このスクリプトは、その単語を含むレコードが存在する場合でも結果を返しません。これを解決するには?

ありがとう。

4

3 に答える 3

2

BOOLEAN MODE または NATURAL MODE では、4 文字未満の単語は検索されません。

于 2012-07-24T08:09:08.577 に答える
1

「+」は「単語」文字ではありません。おそらく、LIKE または REGEXP を使用する必要があります。

于 2010-07-17T11:28:46.957 に答える
0

BOOLEAN MODE なしで検索できます。

SELECT *
FROM shop_product
WHERE
   MATCH(shop_product.name, shop_product.product_model, shop_product.keywords, shop_product.part_number, shop_product.upc, shop_product.brand_name)
   AGAINST ('c++'))
GROUP BY `product_id`
LIMIT 0, 25

+ はブールモード専用の特殊文字だと思います。

于 2010-07-17T13:48:19.683 に答える