gpt4 book ai didi

android - SQLiteDatabase 插入或替换(如果更改)

转载 作者:行者123 更新时间:2023-11-29 21:32:23 24 4
gpt4 key购买 nike

我正在寻找一种方法来填充/更新我的 SQLiteDatabase 表。在某些情况下,我需要得到通知(通过某些返回值)。每行包含一个需要稍后下载的文件的 url。

  1. 行还不存在:插入它并通知我应该列出该行以供下载。
  2. 行确实存在,但我要插入的行包含与数据库中已有行相同的值:什么都不做,不要通知我这应该下载。
  3. 行确实存在并且我要插入的行包含不同的值作为数据库中已有的行:替换此行,通知我这应该是下载。

我一直在寻找答案,但似乎找不到好的答案。我应该使用 insertWithOnConflict()replace()replaceOrThrow()、...

谢谢!

最佳答案

在单个 sqlite 事务中分两步完成:

  1. 按 rowid 查询。如果没有找到 rowid 或没有找到结果,则插入新的并下载。

  2. 比较新行的 url 和在步骤 1 中检索到的行。仅当 url 不同时,才更新行并下载,否则不进行任何操作。

关于android - SQLiteDatabase 插入或替换(如果更改),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19134274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com