gpt4 book ai didi

android - 如何在方形sqldelight中进行批量插入?

转载 作者:行者123 更新时间:2023-12-04 14:28:39 26 4
gpt4 key购买 nike

感谢 square 提供 SQLDelight 并为 sqlite 数据库交互提供类型安全的 api。我正在做如下的单个插入行:

      MyTable.Insert_row insert_row =
new MyTableModel.Insert_row(
mOpenHelper.getWritableDatabase(),
MyTable.FACTORY
);
MyTable.bind(insert_row, data);
insert_row.program.executeInsert();

有没有办法一次对数据列表执行批量插入?

最佳答案

有点。有两种方法。自 SQLite 3.7.11(包含在 Android API 16 及更高版本中)起,您可以从 sqlite 端一次插入多个值:

INSERT INTO myTable
VALUES (?, ?), (?, ?), (?, ?);

这可能不是您想要的。只要您只创建一次插入语句,绑定(bind)和执行多行实际上非常快:

MyTable.Insert_row insert_row =
new MyTableModel.Insert_row(
mOpenHelper.getWritableDatabase(),
MyTable.FACTORY
);
for (Row row : rows) {
MyTable.bind(insert_row, row);
insert_row.program.executeInsert();
}

这可能更接近您想要的。目前没有计划支持从 .sq 文件端进行任意大小的批量插入。

关于android - 如何在方形sqldelight中进行批量插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40595231/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com