iOS - SQLite数据库升级插入某个字段

SQLite数据库里面的表创建之后,项目开发过程中可能会有添加字段的需要

1.第一种方法

我们可以直接舍弃现有的表格,直接加上版本号创建新的表格,但是这样有弊端,原来存储的数据就直接丢失了,但是还是存在数据库里占用着内存,所以我们不建议这种方法

2.第二种方法

在第一种方法的基础上实现数据保留,需要在创建新表格的同时,取出上一个版本表格中的数据,添加上新字段的值后,重新插入新的数据表格中,但是这种方式在数据库里存有大量数据的时候,实现起来非常有问题。

3.第三种方法

楼主正在使用的方法
直接判断需要更新的字段是否存在,没有存在的话插入新的字段

//在已经创建好的表格中插入add字段的SQ语句
NSString *addStr = [NSString stringWithFormat:@"alter table '%@' add 'add' text ",name];
//判断maillisttable表格中是否有add字段
if (![_dataBase columnExists:@"add" inTableWithName:@"maillisttable"])
 {
        [_dataBase executeUpdate:addStr];
 }

注意:这里确实可以满足升级数据库字段的需求,但是重复修改数据库字段也是不建议的,所以建议在创建和维护数据库时,一定要多提前做好数据库设计,尽量避免频繁升级数据库操作。

    原文作者:SunshineAutumn
    原文地址: https://www.jianshu.com/p/57c3f9adffd9
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞