gpt4 book ai didi

Android insertWithOnConflict 返回错误值

转载 作者:太空宇宙 更新时间:2023-11-03 10:53:59 26 4
gpt4 key购买 nike

我在 Android/SQLite 中使用 insertWithOnConflict 函数来插入可能已经存在于数据库中的值。根据 Android 文档,如果该值存在,将返回主键:

Returns
the row ID of the newly inserted row OR the primary key of the existing row if
the input param 'conflictAlgorithm' = CONFLICT_IGNORE OR -1 if any error

但是,使用该函数时,如果行已经存在,则不会返回现有的主键。相反,它会自动增加主键并返回该值,即使没有数据插入到返回的 id 的行中。

函数调用本身比较简单:

name_id = db.insertWithOnConflict("names", null, name_values, SQLiteDatabase.CONFLICT_IGNORE);

最佳答案

我也遇到过。我还看到了一些更奇怪的情况,它也返回了 0。似乎 API 级别存在一些问题。已经恢复到 insertOrThrow 并且那对我有用。

关于Android insertWithOnConflict 返回错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8663745/

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