【问题标题】:SQLite insert query giving error after 246 recordsSQLite 插入查询在 246 条记录后给出错误
【发布时间】:2009-08-08 08:51:40
【问题描述】:

我试图在 iphone 的 sqlite 数据库中插入 1916 条记录,但插入 246 条记录后出现错误

“由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'插入数据时出错。'无法打开数据库文件''”

有没有关于插入缓存之类的设置?

【问题讨论】:

    标签: iphone sqlite


    【解决方案1】:

    可能存在内存限制约束,您可能希望运行这是几个事务,例如一次插入 245 条记录,然后再插入 245 条,直到完成。

    更多细节也会有所帮助,例如查询、sqlite 版本、每个字段中传递了多少数据、表结构、约束等......

    【讨论】:

      【解决方案2】:

      对于这么多的 INSERT,您需要将写入操作包装在事务中。我发现不这样做会导致设备上的内存使用量激增并导致整体性能下降。我在this answer 中提供了一些代码作为如何执行此操作的示例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-22
        • 2011-02-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-26
        • 2012-12-16
        • 2012-10-10
        相关资源
        最近更新 更多