如何使用 Anko 通过 where args 删除 SQLite 中的多个行?

How to delete rows in SQLite with multiple by where args using Anko?

我希望通过_id删除一行,我希望也使用Anko通过where args删除多行。

我已经阅读了https://github.com/Kotlin/anko/wiki/Anko-SQLite#updating-values的文章,但是我没有结果,你能帮帮我吗?

首先,使用更新方法是错误的。删除不等于更新。在 SQL 中更新意味着更改一行中一个或多个字段的值。您正在寻找的是 delete method

dbHelper.delete(TABLE_NAME, whereClause="Your actual where statement here", args)

where 语句遵循的语法与 SQLite 中的常规 where 子句略有不同。这是 update 方法的一个例外,因为它有一个通过构建器实现 "regular" SQL 的方法。 delete 方法没有这个,所以你必须使用 Anko 语法。

基本上您可以将其用作 where 子句:

"someRow = {someRowData} AND differentRow = {otherData}"

并在参数中:

"someRowData" to "whatever value you want",
"otherData" to 1234

我不完全确定 AND 关键字是否有效,语法没有完整记录。我认为应该是因为没有其他记录。一般的 SQLite 语法应该是有效的,只有参数替换(我假设是为了避免 SQL 注入)是不同的