ios - SQLite 错误 : too many terms in compound SELECT

标签 ios sqlite select

当我向 sqlite 数据库文件中插入太多数据时,会出现“too many terms in compound SELECT”错误。我使用“insert into ... select ... union select ... union ...”。我知道 select 语句太多,但我的问题是:复合 SELECT 语句中的最大术语数是多少?

最佳答案

复合 SELECT 语句是由运算符 UNION、UNION ALL、EXCEPT 或 INTERSECT 连接的两个或多个 SELECT 语句。我们将复合 SELECT 中的每个单独的 SELECT 语句称为“术语”。

SQLite 中的代码生成器使用递归算法处理复合 SELECT 语句。因此,为了限制堆栈的大小,我们限制了复合 SELECT 中的项数。术语的最大数量是 SQLITE_MAX_COMPOUND_SELECT,默认为 500。我们认为这是一个慷慨的分配,因为在实践中我们几乎从未见过复合选择中的术语数量超过个位数。

可以使用 sqlite3_limit(db,SQLITE_LIMIT_COMPOUND_SELECT,size) 接口(interface)在运行时降低复合 SELECT 术语的最大数量。

更多详情请查看此... http://www.sqlite.org/limits.html

关于ios - SQLite 错误 : too many terms in compound SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9527851/

相关文章:

ios - 在 Swift 2 iOS 中访问相机

ios - 在 iTunes 上重新提交应用程序需要更改发布日期吗?

Android sqlite如何检查记录是否存在

jquery - 在 jQuery 中,如何指定仅在特定区域执行某个功能?

MySQL插入语句(插入表(列)选择语句)

ios - 如何删除tableview、coredata、firebase数据库中的数据,删除顺序?

c# - 通用应用程序中的SQLite

c# - Unity3d Sqlite,如果数据表为空,我可以显示输出“数据为空”吗?

mysql - 在 MySql 中的同一个表中加入 2 选择查询

ios - 在保持向后兼容性的同时采用 os_log API