gpt4 book ai didi

objective-c - 当 iPhone 应用程序在将数据插入表中时或期间退出时,如何回滚 SQLite 数据库?

转载 作者:行者123 更新时间:2023-11-28 22:51:58 24 4
gpt4 key购买 nike

我正在为我的 iPhone 应用程序使用 SQLite(没有任何外部库)。我有将近 500 行的大量数据(来自 Web 服务,因此不能从 sqlite 管理器手动插入)要插入到 SQLite 表中。我检查了日志,插入成功执行。

if ( sqlite3_exec(database, [insertStatement UTF8String], NULL, NULL, &error) == SQLITE_OK)

但是当应用程序在插入操作中退出时,只有一些行被插入,例如 200。因此,当应用程序在插入操作中退出时,有没有办法进行完全回滚? 因此,当我重新启动应用程序时,我只读取了 200 行。

注意:我使用的是 NSOperationQueue,因此我的应用程序在插入期间运行时没有任何故障(整个插入需要将近 20 秒)

是否有针对此案例的引用教程,以避免插入到 SQLite 中的不完整?我知道我可能必须为此使用交易,但有什么好的引用吗?

如有任何帮助,我们将不胜感激。

最佳答案

您可以开始交易并结束交易。简单案例:

sqlite3_exec(database, "BEGIN", 0, 0, 0);

... (your insert code)

sqlite3_exec(database, "COMMIT", 0, 0, 0);

关于objective-c - 当 iPhone 应用程序在将数据插入表中时或期间退出时,如何回滚 SQLite 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11768841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com