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