当前位置: 首页 > 知识库问答 >
问题:

房间持久性图书馆。全部删除

韦澄邈
2023-03-14

如何使用房间持久性库删除特定表上的所有条目?我需要删除表,但我找不到任何信息如何做到这一点。

仅当数据库正在迁移或加载所有条目并删除它们时:)

共有3个答案

荀裕
2023-03-14

如果想从Room中的表中删除一个条目,只需调用此函数,

@Dao
public interface myDao{
    @Delete
    void delete(MyModel model);
}

更新:如果你想删除完整表,请调用下面的函数,

  @Query("DELETE FROM MyModel")
  void delete();

注意:这里MyModel是一个表名。

胡璞瑜
2023-03-14

从Room1.1.0开始,您可以使用clearAllTables(),它:

删除作为实体()注册到此数据库的所有表中的所有行。

黄骏喆
2023-03-14

您可以创建一个DAO方法来实现这一点。

@Dao 
interface MyDao {
    @Query("DELETE FROM myTableName")
    public void nukeTable();
}
 类似资料:
  • 我刚刚使用Android room persistence library,通常我使用DBHeper来管理数据,但我正在尝试使用这项技术,我想知道如何在room persistence library中使用这个查询 但是,当我在“喜欢”之后使用%时,我会在红线上划下它

  • Android的Room持久性库优雅地包含了适用于对象或集合的@Insert和@Update注释。但是,我有一个用例(包含模型的推送通知),它需要UPSERT,因为数据库中可能存在数据,也可能不存在数据。 Sqlite本机不具有up,在这个SO问题中描述了解决方法。鉴于那里的解决方案,如何将它们应用于Room? 更具体地说,如何在房间中实现插入或更新,而不破坏任何外键约束?使用insert wit

  • 转换器.KT FoodDatabase.kt 当我运行以下代码创建数据库时: 我还附上我的评分文件: 有人遇到过这个问题吗?

  • 最近几天,我一直在学习新的Android架构组件。跟进一些博文后,留档

  • 我一直在使用codelabs实现我的房间数据库持久化。现在,在将数据插入房间数据库后,我正在尝试获取最新的rowID。但是,我被困在存储库中,试图从异步任务返回rowID。 LogEntity.java 洛格道。JAVA 日志数据库。JAVA 日志存储库。JAVA 我放了两个星号,因为我不确定在这里要做什么来获取insert RowID,以及我的AsyncTask是否完全正确。 LogViewMo

  • 我正在尝试使用Facebook登录我遵循了这里的指导原则https://developers.facebook.com/docs/facebook-login/android但每次我遇到以下错误 清单合并失败:属性元数据#android.support.VERSION@valuevalue=(26.0.0-alpha1)from[com.android.support: appcompat-v7: