gpt4 book ai didi

objective-c - SQLite表达式最大深度限制

转载 作者:行者123 更新时间:2023-12-03 16:17:13 25 4
gpt4 key购买 nike

环境:Mac os x Snow Leopard 上的 Cocoa

我已达到 sqlite 查询的最大(默认)深度:

Expression tree is too large (maximum depth 1000)

sqlite documentation说在编译时设置SQLITE_MAX_EXPR_DEPTH,但是如何设置呢?我使用默认的 sqlite3 框架,导入为:

#import <sqlite3.h>

注意:我认为最大表达深度可以在运行时降低(而不是增加):

sqlite3_limit(db,SQLITE_LIMIT_EXPR_DEPTH,size)

是吗?

最佳答案

更简单的解决方案(尽管远非完美)。

我遇到了同样的错误,我不得不使用 Android 默认的 SQLite 实现(查询系统音频数据库)。

问题出现是因为我删除了一些“无用”的括号,所以我把它们放回去,不再有错误。

崩溃:

id = 387 OR id = 388 OR id = 390 OR id = 391 [...] OR id = 392

不会崩溃:

(id = 387 OR id = 388 [...] OR id = 390) OR (id = 391 [...] OR id = 392) OR (...

我很幸运,因为无论如何我的括号都没有意义并且可以很容易地放置。不是很干净,但它有助于显着减少崩溃,所以我对这种情况感到满意。

关于objective-c - SQLite表达式最大深度限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9570197/

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