SQLite的复合太多方面选择 [英] SQLite too many terms in compound SELECT
问题描述
在我的Android SQLite的databese查询我有INTO语句的INSERT其次是约600('DATA1'),('数据2')......标签,由code产生的。
In my Android SQLite databese query I have an INSERT INTO statement followed by about 600 ('data1'),('data2')... tags, generated by code.
db.exec(SQL)我得到这个错误后:在复合SELECT(code1)太多的条款;在编译INSERT INTO。
After db.exec(sql) I got this error: "too many terms in compound SELECT (code1); while compiling INSERT INTO.. "
有什么办法来增加此限制?
Is there any way to increase this limitation?
推荐答案
限制 SQLITE_MAX_COMPOUND_SELECT
的不能在运行时提高,
所以,你需要你的插入分割成每500行批次。这将是比插入每个查询一行更有效。对于例如。
So you need to split your inserts into batches of 500 rows each. This will be more efficient than inserting one row per query. For e.g.
BEGIN TRANSACTION
INSERT INTO tablename (data1,data2) VALUES ("data1","data2")
INSERT INTO tablename (data1,data2) VALUES ("data1","data2")
INSERT INTO tablename (data1,data2) VALUES ("data1","data2")
...
END TRANSACTION
另请参阅<一个href=\"http://stackoverflow.com/questions/15613377/insert-multiple-rows-in-sqlite-error-error-$c$c-1\">Insert SQLite中多行
这篇关于SQLite的复合太多方面选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!