Android 如果符合标准,则插入记录房间数据库
在这种情况下,我希望将从服务器获取的记录列表与本地DB记录进行比较,如果满足某些条件,则将记录插入数据库中。e、 g.我有Android 如果符合标准,则插入记录房间数据库,android,android-sqlite,android-room,Android,Android Sqlite,Android Room,在这种情况下,我希望将从服务器获取的记录列表与本地DB记录进行比较,如果满足某些条件,则将记录插入数据库中。e、 g.我有实体列,名为mediaUploadedCountmediaUploadedCount在本地数据库中为29。我点击API获取新记录,如果此记录的mediaUploadedCount为28,则在插入时忽略此记录。此记录的一个可能解决方案可能是: 从数据库中获取记录 将服务器记录与本地数据库记录进行比较 插入符合标准的所有记录 但这种方法会减慢插入过程 对于这种情况,我们是否可
实体
列,名为mediaUploadedCount
mediaUploadedCount
在本地数据库中为29
。我点击API获取新记录,如果此记录的mediaUploadedCount
为28
,则在插入时忽略此记录。此记录的一个可能解决方案可能是:
- 从数据库中获取记录
- 将服务器记录与本地数据库记录进行比较
- 插入符合标准的所有记录
我在这里看到两种情况:
mediaUploadedCount
视为您的主uid,房间为您处理非重复数据在这个查询中,我想将记录与db列值进行比较。假设我必须插入50条记录,对于所有50条记录,我想将
mediaUploadedCount
与数据库中的mediaUploadedCount
值进行比较。对于场景,您将mediaUploadedCount视为主要uid,房间为您处理不重复项代码>,这将不起作用。因为28不同于29,但我想忽略28并保留29作为最新的重新创建。我可以问一下为什么要将此上载计数存储为变量吗?当你得到介质时,你不能通过得到返回介质的大小来达到同样的效果吗?我有一个Recyclerview
,其中我应该29/130
,即mediaUploadedCount=29
和medialTotalCount=130
,为此需要保持单独的计数。如果每次都需要从SD卡文件进行计算,则在onBindViewHolder中渲染该文件的速度会较慢
INSERT INTO table-name (column-names)
WHERE condition