sqlite - 在 Sqflite 中插入多条记录

标签 sqlite flutter sqflite

如何在sqflite中快速插入多条记录?标准的快速方法是:

await database.insert(table, object.toMap())

但是我不认为用循环一对一插入记录是个好主意。 或者我可以插入带有事务的所有列表?

最佳答案

正如我在评论中提到的,您可以使用 Batch。这是示例。

Batch batch = db.batch();
batch.insert('Test', {'name': 'item'});
batch.update('Test', {'name': 'new_item'}, where: 'name = ?', whereArgs: ['item']);
batch.delete('Test', where: 'name = ?', whereArgs: ['item']);

现在如果你正在寻找结果(它会消耗你一些内存),你使用

results = await batch.commit();

如果您正在寻找快速性能,只需忽略结果并使用

await batch.commit(noResult: true);

Source

关于sqlite - 在 Sqflite 中插入多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56373970/

相关文章:

sqlite 获取具有相同列值的记录

c# - 将 Firefox 中 Places.sqlite 文件中的日期转换为 DateTime

flutter - 通过DropDownList中的DropdownMenuItem在Flutter中传递对象

dart - 带有 const 关键字的 flutter 变量

database - 是否有用于Flutter桌面的数据库?

flutter - 如何用sqflite flutter实现search delegate

java - 如何在 Activity 中保存光标?

具有空安全性的 Flutter/Dart 包 integration_test

sqlite - 列表项更改时Flutter ListView不会更新

JavaFX 更新 Sqlite 表