谢小进*_*谢小进 13 sqlite select ios
当我向sqlite数据库文件中插入太多数据时,会发生错误"复合SELECT中的术语过多".我用" insert into ... select ... union select ... union ...".我知道它有太多的select语句,但我的问题是:复合SELECT语句中的最大术语数是多少?
sho*_*fee 25
复合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)接口可以在运行时降低复合SELECT术语的最大数量.
有关详细信息,请查看此... http://www.sqlite.org/limits.html