2016-03-10 78 views
-1

这是可能的,如果它是一个人会怎么做呢?关于该主题的信息有点稀疏,因为Google搜索堆栈搜索很多,而批量插入却很多,但批量更新没有实际可行的结果。FMDB多记录更新查询

+1

你想要做什么? – Hitarth

+0

看到这个http://stackoverflow.com/questions/11563869/update-multiple-rows-with-different-values-in-a-single-sql-query –

+0

你可以引用ans和另一个解决方案是你可以做它在for循环。所以在单个查询中。所以做一个普遍的查询并将其用于循环。所以你不必写查询来更新每条记录。 – Hitarth

回答

2

是的,如果您插入正确的SQL来执行此操作,但您的问题有点含糊不清。

不是试图更新查询中的多个记录,而是为什么不使用事务队列呢?将您的查询作为数组传递给此函数。 (要求你已经设置了FMDatabase dbQueue当然)

-(BOOL) executeQueryArray:(NSMutableArray*)queryArray { 

    __block BOOL noErrors = YES; 

    [self.dbQueue inTransaction:^(FMDatabase *db, BOOL *rollback) { 

     db.logsErrors = YES; 

     for (NSString* query in queryArray) { 

      if (![db executeUpdate:query]) noErrors = NO; 
     } 

     *rollback = !noErrors; 
    }]; 
    return noErrors;  
}