我正在 Flash (AIR 3.6) 中创建 iPad 应用程序。我需要使用 SQLite 数据库引擎同步大量数据。我正在从服务器接收 JSON 格式的数据,需要将其转换为数据向量。
据我所知,Flash SQLite 引擎一次只允许 1 个 INSERT 进程,因此我决定在 1 个查询中添加尽可能多的内容。我将 UNION ALL 与 INSERT 一起使用,但我遇到了 500 个联合的限制,之后 SQLite 引擎拒绝合作。
因此,我必须创建一个结构,该结构最多可添加 500 个带有联合的插入并运行,直到所有数据都以这种方式插入。对于 2k+ 行,它循环大约 5 次。我试图逐个插入数据,但它花费了现在的 300 倍。
最后:在 AIR 3.6 项目中的 SQLite 中,是否可以在 1 次查询中将超过 500 行的数据添加到数据库中?
编辑:
在一个事务中使用许多 INSERT 似乎不起作用:
var sql:String = "";
sql += "INSERT INTO TablicaTestowa (formTypeId,name,timestamp) VALUES ('abc2','nazwa2','sg535');"
sql += "INSERT INTO TablicaTestowa (formTypeId,name,timestamp) VALUES ('abc3','nazwa3','gwt5htbsd');"
sql += "INSERT INTO TablicaTestowa (formTypeId,name,timestamp) VALUES ('abc4','nazwa4','frtgwh3jwdsed');"
createStmt.text = sql;
createStmt.addEventListener(SQLEvent.RESULT, createResult2);
createStmt.addEventListener(SQLErrorEvent.ERROR, createError2);
createStmt.execute();
仅添加第一个值('abc2'、'nazwa2'、'sg535)。或者也许我做错了什么?