ios mysql APP_iOS App数据库迁移

直接判断需要更新的字段是否存在,没有存在的话插入新的字段

//在已经创建好的表格中插入add字段的SQ语句

NSString *addStr = [NSString stringWithFormat:@"alter table '%@' add 'add' text ",name];

//判断maillisttable表格中是否有add字段

if (![_dataBase columnExists:@"add" inTableWithName:@"maillisttable"])

{

[_dataBase executeUpdate:addStr];

}

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

数据库升级数据迁移简单完整的解决方案

清除旧的数据,重建表

优点:简单

缺点:数据丢失

在已有表的基础上对表结构进行修改

优点:能够保留数据

缺点:规则比较繁琐,要建立一个数据库的字段配置文件,然后读取配置文件,执行SQL修改表结构、约束和主键等等,涉及到跨多个版本的数据库升级就变得繁琐并且麻烦了

创建临时表,把旧的数据拷贝到临时表,然后删除旧的数据表并且把临时表设置为数据表。

优点:能够保留数据,支持表结构的修改,约束、主键的变更,实现起来比较简单

缺点:实现的步骤比较多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值