如果符合条件,则插入记录

时间:2019-09-16 08:16:35

标签: android android-sqlite android-room

我遇到一种情况,我想将从服务器获取的记录列表与本地DB记录进行比较,如果满足某些条件,则将记录插入数据库中。例如我有一个名为Entity的{​​{1}}列。 mediaUploadedCount是本地数据库中的mediaUploadedCount。我点击API来获取新记录,如果该记录的29mediaUploadedCount,则在插入时忽略该记录。该记录的一种可能的解决方案可能是:

  • 从数据库中获取记录
  • 比较服务器记录和本地数据库记录
  • 插入所有符合条件的记录

但是这种方法会减慢插入过程。

  

在插入或针对这种情况的其他任何想法之前,有什么方法可以应用某些条件?

1 个答案:

答案 0 :(得分:0)

我在这里看到两种情况:

  1. 您将mediaUploadedCount当作您的主要uid ,Room会为您处理非重复项。

  2. 您将查询条件插入到您的Room Dao中:

    INSERT INTO table-name (column-names) 
    WHERE condition