我目前正在使用SQLiteDatabase.replace
更新数据库中的某些行。我正在迁移到ContentProvider,我正在尝试用等效的ContentProviderOperation
替换这些语句。有更新,删除和插入的工厂方法,但没有newReplace
。我猜这是因为文档说SQLiteDatabase.replace
是一种方便的方法,只有在主键匹配时才替换行,否则它会添加一个新的。但是,我不明白幕后发生了什么。我假设如果我只是delete
然后insert
它会比replace
效率低,那是正确的吗?
如何使用SQLiteDatabase.replace
模仿ContentProviderOperation
的功能?
答案 0 :(得分:0)
这看起来很有希望(至少在我的用例中):Android Contentprovider - update within an insert method。基本上我需要更改ContentProvider中的insert()
以在失败时进行更新。