gpt4 book ai didi

Flutter SQFlite 按整数 ID 列表删除多个

转载 作者:行者123 更新时间:2023-12-01 23:10:43 25 4
gpt4 key购买 nike

Flutter 中的 SQFlite

以下代码根据给定的 ID 删除一行

Future<int> delete(int id) async {
Database db = await instance.database;
return await db.delete(myTable, where: 'id = ?', whereArgs: [id]);
}

但是如何同时删除多个ID?

我有变量列表: List<int> toBeDeleted = [5, 4, 8, ...]

我尝试在 whereArgs 中给出一个列表,但它不起作用。我正在寻找的是能够“一次删除选定的多个项目”。

最佳答案

您可以使用 SQLite IN 子句:

await db.delete(myTable, where: 'id IN (?,?,?)', whereArgs: [id1, id2, id3]);

由于列表大小可以改变,所以有适当的数字或?可以使用以下解决方案解决:List.filled(inArgsCount, '?').join(',')

var list = ['5', '4', '8'];
return await db.delete('myTable',
where: 'id IN (${List.filled(list.length, '?').join(',')})',
whereArgs: list);

更多信息在这里 https://github.com/tekartik/sqflite/blob/master/sqflite/doc/sql.md#parameters

关于Flutter SQFlite 按整数 ID 列表删除多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69975958/

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