1

アプリのデータベースにテーブルが存在するかどうかを確認しようとしています。テーブルが存在しない場合は、1 つのレコードを作成して挿入する必要があります。ここでの唯一の問題は、毎回新しいレコードが挿入されることであり、そのデータベースには 1 つのレコードしか必要ありません。これを達成するための最良の方法は何ですか?データベースが存在するかどうかを確認し、存在しない場合にのみこのコードを実行する必要がありますか、それとも別の方法がありますか?

NSString *strSQL = @"CREATE TABLE IF NOT EXISTS \"Version\" (\"Type\" TEXT,\"Number\" DOUBLE DEFAULT (null) )";
const char *chrStmt = [strSQL UTF8String];
sqlite3_stmt *cmpStmt;
if(sqlite3_prepare_v2(db_stats, chrStmt, -1, &cmpStmt, NULL) == SQLITE_OK){
    sqlite3_step(cmpStmt);
}
sqlite3_finalize(cmpStmt);

strSQL = [NSString stringWithFormat:@"INSERT INTO Version (Type, Number) VALUES ('Database', %f);", db_version];
const char *chrStmt2 = [strSQL UTF8String];
if(sqlite3_prepare_v2(db_stats, chrStmt2, -1, &cmpStmt, NULL) == SQLITE_OK){
    sqlite3_step(cmpStmt);
}
sqlite3_finalize(cmpStmt);
4

0 に答える 0