iOS app更新数据库数据迁移问题

来源:互联网 发布:nginx ssl 配置 编辑:程序博客网 时间:2024/05/26 15:57

iOS App初始化或者升级,涉及本地数据库迁移的问题

http://www.bubuko.com/infodetail-312724.html

sqlite有alter命令,可以增加字段

//对于老用户,在数据库表中增加字段            char *errMsg;            NSString *searchSql = [NSString stringWithFormat:@"select sql from sqlite_master where tbl_name='表名' and type='table'"];            const char *sql_Txt = [searchSql UTF8String];                        sqlite3_prepare_v2(数据库, sql_Txt, -1, &statement, NULL);            if(sqlite3_step(statement) == SQLITE_ROW){                                char *sqlTxt= (char *)sqlite3_column_text(statement,0);                NSString *sqlString = [[NSString alloc] initWithUTF8String:sqlTxt];                               // NSLog(@"%@", sqlString);                if ([sqlString rangeOfString: @"stockCode"].length <= 0 ) {                   // NSLog(@"%@", @"没有找到字段");                                        const char *sql_add = "ALTER TABLE 表名 ADD 字段名  字段类型";                    if (sqlite3_exec(数据库, sql_add, NULL, NULL, &errMsg)!=SQLITE_OK) {                       // NSLog(@"%@", @"成功插入字段");                    }                }            sqlite3_finalize(statement);            }



0 0