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 中給出一個串列,但它不起作用。我正在尋找的是能夠“一次洗掉選定的多個專案”。
uj5u.com熱心網友回復:
您可以使用 SQLiteIN子句:
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/360093.html
