关于FMDB的一些用法,FMDatabaseQueue用法 添加字段

本文介绍了一种在应用程序升级过程中对现有数据库进行安全更新的方法。针对老用户与新用户的区别,通过检查表单及字段的存在状态来决定是否执行数据库的修改或创建操作。对于老用户采用ALTER TABLE命令增加字段,而对于新用户则直接创建带有新字段的表单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自:  https://blog.youkuaiyun.com/georgehenrywilliam/article/details/52809170

最近公司的1.3版本,需要在数据库的一个表单中添加一个字段,但是之前的版本已经上架,考虑到已经在使用该App应用的老客户以及还没有使用准备下载安装app的新用户,必须考虑到数据库更新的问题。


所做的代码如下

//如果是已经有我的应用的老客户,直接修改

        if (![_databasecolumnExists:@"lastMsgType"inTableWithName:TABLE_RECENT_SESSION]  &&[_databasetableExists:TABLE_RECENT_SESSION] ) {

            NSString * sql = [NSStringstringWithFormat:@"ALTER TABLE %@ ADD COLUMN %@ integer",TABLE_RECENT_SESSION,@"lastMsgType"];

            BOOL ret  =[_databaseexecuteUpdate:sql];

            if (ret!=YES) {

               NSLog(@"修改数据库失败");

            }

        }

//如果正准备下载我的应用的新客户,直接创建就好了

CREATE TABLE IF NOT EXISTS %@ (ID text UNIQUE,avatar text, type integer, lastMsgType integer ,name text,updated real,isshield integer,users Text , unreadCount integer, lasMsg text , lastMsgId integer, draft text , drafttime real)",TABLE_RECENT_SESSION]


        //关于FMDB的一些方法

- (BOOL)columnExists:(NSString*)columnName inTableWithName:(NSString*)tableName//判断数据库中的某个表单是否存在mou ge zi du a

- (BOOL)tableExists:(NSString*)tableName //判断数据库中是否有某个表单


http://www.jianshu.com/p/67afbcf32808事务的用法



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值