私はsqliteに関して初心者であり、これを行う方法がよくわかりません。
それぞれ 1 つの単語を含む一連の行を持つデータベースが必要です。ユーザーが単語を入力すると、データベースにあるかどうかを確認して検証します。
私が持っていない、そして作成方法がわからないものは、インデックスですか?それを挿入するにはどうすればよいですか?インデックスを利用するクエリを作成するにはどうすればよいですか?
そこには「idとword」という2つの列もあります。ID を持つことは良いことですか、それともスペースを占有するだけですか?
これは私がこれまでに得たものです:
CREATE TABLE words (id INTEGER PRIMARY KEY, word VARCHAR(15));
15 文字を超える単語は望ましくないため、VARCHAR(15); を設定します。
INSERT INTO words(word) VALUES('hello');
INSERT INTO words(word) VALUES('bye');
etc. for all words
単語をチェックするには:
NSString *sql = [NSString stringWithFormat:@"SELECT EXISTS(SELECT 1 FROM words WHERE word=\"%@\" LIMIT 1)", word];
const char *sqlStatement = [sql UTF8String];
if (sqlite3_prepare_v2(db, sqlStatement, -1, &selectStmt, NULL) == SQLITE_OK)
{
int count = 0;
while(sqlite3_step(selectStmt) == SQLITE_ROW)
{
count = sqlite3_column_int(selectStmt, 0);
}
NSLog(@"COUNT: %i",count);
//If count is 1, we have a match.
}