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