2011-06-19 6 views
3

iPhoneアプリケーションでsqliteでトランザクションを開始するにはどうすればよいですか?私は、SQLクエリとの移行ファイルがあり、私はそれらを1つの原子的なトランザクションとして実行する必要があります。何かが失敗したら私はロールバックしますが、私はそれをどうやって行うかについていくつかの指導を必要とするかもしれません。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

うん、ただし、さまざまな種類のトランザクション(排他、DEFERRED、即時)があるので、ドキュメント内でそれらを読みたいかもしれません。また、[fmdb library](https://github.com/ccgus/fmdb/)は、Objective-C型のバインディングを提供するので、iOS上でsqliteを使用するための素晴らしい方法です。また、すでにトランザクションのラッパーも提供しています。 – pmdj

+0

ありがとう、どのようにロールバックしますか? – LuckyLuke

+1

@Andreasこれは今のところ推測が難しいです:P – Pentium10

関連する問題