如何在SQLite iPhone应用中使用事务

3

我该如何在我的iPhone应用程序中启动sqlite事务。 我有一个包含sql查询的迁移文件,我需要将它们作为一个原子事务执行。 如果出现错误,我将回滚,但我可能需要一些指导来完成这项工作。


1
你有看过 SQLite 的文档吗?特别是 http://www.sqlite.org/atomiccommit.html 和 http://www.sqlite.org/lang_transaction.html。 - pmdj
是的,但是我不知道需要写什么... - LuckyLuke
1个回答

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库是在iOS上使用sqlite的好方法,它提供Objective-C类型绑定,并已为事务提供了包装器。 - pmdj
1
@Andreas,现在真的很难猜测:P - Pentium10

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接