7

尽管我没有使用任何明确的 AutoCommit true 或 false,但我正面临 SQLite 错误。任何人都可以提供有关此错误的任何输入。在什么情况下会出现此错误。

提前致谢。问候, 马纳西省

4

1 回答 1

5

当我在循环遍历表条目的循环中时,我反复遇到类似的问题(在我的情况下,这是不可能的回滚)。只要游标正在处理条目,SQL 语句就“进行中”。我不确切知道,如果这也禁止提交,但它可能是。

当您尝试处理表条目并在相同或不同的表中插入条目时,您可能希望尝试在内存中收集数据并在循环之后执行插入或更新。

附加信息:“自动提交”在 SQLite 中通常默认为“真”(当然,它也可能取决于您使用的访问层——我使用的是 Python 和 apsw,所以我无法在 Java 中告诉你更多关于此的信息)。这意味着,每个插入都会立即自动提交。

==> 这可能是另一种解决方案。您可以尝试显式打开事务并在循环后提交它,而不是将数据存储在内存中——这样,问题也应该消失。

于 2009-06-26T14:31:53.227 回答