2016-03-10 101 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;  
}