我需要找到以下字符串:'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
即使存在包含该单词的记录,此脚本也不会返回任何结果。 怎么解决这个问题?
感谢。
答案 0 :(得分:2)
在BOOLEAN MODE或NATURAL MODE中不搜索少于四个字符的单词。
答案 1 :(得分:1)
“+”不是“单词”字符。可能你必须使用LIKE或REGEXP。
答案 2 :(得分: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
我认为+只是布尔模式的一个特殊字符。