2011-06-19 52 views
3

如何在我的iPhone應用程序中的sqlite中啓動事務。我有一個遷移文件與SQL查詢,我需要他們作爲一個原子事務執行。如果出現問題,我會回滾,但我可能需要一些指導我如何做到這一點。如何在sqlite中使用事務iphone應用程序

+1

你有沒有看看sqlite的文件?特別是,http://www.sqlite.org/atomiccommit.html和http://www.sqlite.org/lang_transaction.html – pmdj

+0

是的,但我沒有看到我需要寫什麼...... – LuckyLuke

回答

8

開始一個交易:sqlite3_exec(db, "BEGIN", 0, 0, 0);

提交與交易:sqlite3_exec(db, "COMMIT", 0, 0, 0);

回滾與交易:sqlite3_exec(db, "ROLLBACK", 0, 0, 0);

+1

是的,但請注意,有不同類型的交易(EXCLUSIVE,DEFERRED,IMMEDIATE),因此您可能需要在文檔中閱讀它們。另外,[fmdb庫](https://github.com/ccgus/fmdb/)是在iOS上使用sqlite的好方法,因爲它提供了Objective-C類型的綁定。它也已經爲交易提供了包裝。 – pmdj

+0

謝謝,你將如何回滾? – LuckyLuke

+1

@現在很難猜測的安徒生:P – Pentium10

相關問題