我要删除满足任意多个条件的行.

例如,我传递了一个ID列表,我想删除所有包含这IDs个ID的行(ID是唯一的).

这将是:

String[] ids = {"0", "1", "2", "3",...};
database.delete("rows" , "id=? OR id=? OR id=? OR id=? OR ..." , ids );

有没有办法做到不需要OR倍的紧凑型?

推荐答案

您可以通过db.execSQL方法和SQL的IN关键字来实现.例如:

String args = TextUtils.join(", ", ids);

db.execSQL(String.format("DELETE FROM rows WHERE ids IN (%s);", args));

Database相关问答推荐

Power BI中的计数

数据库设计:多表与单表

502 是数据库错误的适当状态代码吗?

在 Oracle 中查找数据库的大小

Spring Boot:如何使用多个模式并在运行时动态 Select 使用哪一个

Java 数据库连接池(BoneCP vs DBPool vs c3p0)

如何在 Products 表的主键和自然键之间做出决定?

将 Redis 数据同步到 MySQL 的最佳策略是什么?

在 SQL SERVER 中监视 SQL 查询的进度

更改列类型而不丢失数据

PDO SQL 状态00000但仍然错误?

有什么理由不应该在生产中使用 h2 数据库?

PostgreSQL 唯一索引和字符串大小写

PHP 可以与 MS SQL 数据库一起使用吗

如何使用 Realm 进行排序?

传递依赖有什么问题?

PostgreSQL 的示例数据库

在 PostgreSQL 中索引空值

多币种 - 存储什么以及何时转换?

美国城市和州的列表/数据库