mysql查询BOOLEAN MODE区分大小写

时间:2011-10-03 14:06:49

标签: php mysql html select

我的搜索区分大小写,但我希望它不区分大小写。在MySQL中,我将我的数据库和表设置为utf8_general_ci。搜索仍然区分大小写。我一直在做一些研究,似乎背后的原因是我的查询中的BOOLEAN模式。有没有办法让它不区分大小写?所以无论我如何用任何灵敏度输入任何单词,它总是会在搜索结果中显示出来?

SELECT 
        s_cost_sheet.partnumber,
        s_cost_sheet.description,
        s_cost_sheet.price,
        s_cost_sheet.notes

    FROM s_cost_sheet
    WHERE MATCH ( partnumber, description, price, notes ) 
    AGAINST('%".$search."%' IN BOOLEAN MODE) ORDER BY partnumber, description, price, notes ASC";

我已经在phpMyAdmin中测试了搜索,无论字盘的类型如何,它都可以工作,它可以是Plate,PLATE,plaTE。一切正常,所以它必须是导致问题的内容。

2 个答案:

答案 0 :(得分:1)

如果其中一列的类型为int或numeric,则搜索将区分大小写。此外,无需在搜索的字符串中使用%

答案 1 :(得分:0)

尝试将您的表格和列更改为utf8_general_ci,并且您不必将%通配符与FULL TEXT Search

一起使用

<强>建议 如果您需要更快的结果,也可以避免使用大量带有ORDER BY子句的列。