gpt4 book ai didi

android - Android 上的 SQLite : insertWithOnConflict() returning ever-increasing results for same data sets

转载 作者:IT王子 更新时间:2023-10-29 06:28:33 26 4
gpt4 key购买 nike

问题背景:我有两个表,其中主键是文本字段。

当我对相同的数据重复使用 SQLiteDatabase.insertWithOnConflict(myTable, null, myValues, SQLiteDatabase.CONFLICT_REPLACE) 时,我看到返回的值不断增加。

所以看起来正在对相同的数据集执行 INSERT(而不是 REPLACE)。

问题:但是,使用“SQLite 数据库浏览器”查看这些表时,我看到了执行 REPLACE 时我期望的正确记录数。

让我感到困惑的根源是 Android 文档的描述,其中指出:*返回新插入行的行 ID 或现有行的主键如果输入参数 'conflictAlgorithm' = CONFLICT_IGNORE 或 -1 如果有任何错误*

问题:为什么 REPLACE 已经完成,但没有返回现有数据的行 ID?

最佳答案

在我看来它正在按照您的要求做事?您要求它替换,它确实做到了。它将删除旧行并插入新行。

如果您改为传递 CONFLICT_IGNORE,它将保留旧行并返回该 ID。

关于android - Android 上的 SQLite : insertWithOnConflict() returning ever-increasing results for same data sets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6336507/

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