当我向 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/