MySQL搜索不能处理小字符串

时间:2013-01-14 01:04:16

标签: mysql

好的,我有一张这样的表:http://i.imgur.com/IPUSe.png

enter image description here

我正试图在MySQL搜索查询中找到combined_names coloumn中的匹配项。

我用它来搜索这个查询:SELECT * FROM players WHERE match(combined_names) against('Lin')

在phpmyadmin中运行查询后,我得到了这个:MySQL returned an empty result set (i.e. zero rows). ( Query took 0.0005 sec )

嗯......让我们试试另一排吧! SELECT * FROM players WHERE match(combined_names) against('Dejan')给了我Showing rows 0 - 0 ( 1 total, Query took 0.0007 sec) [id: 1 - 1]所以它有效!

好吧,让我们尝试将Lincombined_names中的forename更改为... Tester,然后我们执行:SELECT * FROM players WHERE match(combined_names) against('Tester')

我知道了吗?我得到:Showing rows 0 - 0 ( 1 total, Query took 0.0006 sec) [id: 3 - 3]

怪异。将Lin更改为Tester后,它就有效......为什么。

1 个答案:

答案 0 :(得分:1)

您需要设置ft_min_word_len = 3,重启mysql服务器并重建索引。

ft_min_word_len默认为4

使用REPAIR TABLE tbl_name QUICK重建全文索引。