0

キーワードでデータベースを検索:

一致する単語についてSQLiteデータベースのテーブル全体をクエリする方法はありますか?JTextFieldテーブル全体を検索し、Job一致する単語を含む行を返すために、キーワードに単語を配置しようとしています。各行は一意のジョブを表します。

私は、この下の切り取られた構造は結果を達成しないだろうと思います

SELECT * FROM Job WHERE Job MATCH 'Microsoft';

すばやく簡単な推奨事項はありますか?

4

2 に答える 2

0

全文検索テーブルである限り、提案している構文を使用できるようです。

http://www.phparch.com/2011/11/full-text-search-with-sqlite/

おそらくFTSテーブルに関する公式のSQLiteドキュメントを読む必要があります。これらは「仮想」テーブルであるため、データベースファイルを同じように使用しないことに注意してください。これは希望どおりではない可能性がありますが、探している構文と一致します。リンクされているSQLiteページにはかなり良い説明があります。FTSモジュールはオプションのエクストラであり、インストールできない場合があることに注意してください。

プレースホルダーを使用している限り、SQLインジェクション攻撃について心配する必要はありません。このSOの質問、具体的にはコードスニペットを使用した2番目の回答を見てください。基本的に、ステートメントにを入れて?から、クエリ関数のパラメータとして置き換える文字列を指定します。これでSQLエスケープが可能になります。

于 2013-01-12T09:21:49.933 に答える
0

私はsqliteを知りませんが、mysqlでは次のように使用される全文検索があります

select * from table where match(name)against('value')

天気の全文検索がsqliteにあるかどうかを確認してください。このリンクで確認できます

http://www.sqlite.org/fts3.html#section_3

于 2013-01-12T11:00:29.833 に答える