0

OK、次のような表があります: http://i.imgur.com/IPUSe.png

ここに画像の説明を入力

combined_namesMySQL検索クエリの列で一致を取得しようとしています..

そして、このクエリを使用して検索するために使用します。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]ので、うまくいきます!

Linでは、 と の両方を ... に変更してcombined_namesforenameましょうTesterSELECT * FROM players WHERE match(combined_names) against('Tester')

わかった?私は得る:Showing rows 0 - 0 ( 1 total, Query took 0.0006 sec) [id: 3 - 3]

変。に変更Linした後Tester、動作します...なぜ。

4

1 に答える 1

1

ft_min_word_len = 3を設定し、mysqlサーバーを再起動して、インデックスを再構築する必要があります。

ft_min_word_lenのデフォルトは4です

REPAIR TABLE tbl_name QUICKフルテキストインデックスを再構築するために使用します。

于 2013-01-14T01:10:27.880 に答える