2015-06-29 44 views

回答

8

問題是SQLite將不得不分別提交INSERT個語句。你應該考慮使用交易。您可以使用transaction方法(執行BEGIN TRANSACTION SQL)開始事務處理,然後使用commit來提交它們(執行COMMIT SQL)。


例如:

db.transaction(.Deferred) { txn in 
    for i in 0 ... 10000 { 
     if countries.insert(name <- "abc").statement.failed { 
      return .Rollback 
     } 
    } 

    return .Commit 
} 
+1

能否請你幫我帶一些代碼,我是相當新的iOS和迅速。 – vinbhai4u

+0

只是FYI,我試圖將整個JSON轉換爲sqlite表,如果你知道更好的方式,請讓我知道謝謝@Rob – vinbhai4u

+1

@ vinbhai4u瞥一眼這個庫,你可以調用'transaction'和'commit',或者從API判斷,看起來你可以用block參數調用'transaction'方法。在我的答案中查看代碼片段。 – Rob