SQLite的复合太多方面选择 [英] SQLite too many terms in compound SELECT

查看:815
本文介绍了SQLite的复合太多方面选择的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的Andr​​oid 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆