据我了解,我有一个使用SQLiteDatabase的应用程序。
我看到相同数据的2次插入(相同PK)似乎没有失败。

Uri res = context.getContentResolver().insert(CONTENT_URI, values);
res = context.getContentResolver().insert(CONTENT_URI, values);


所以当我打印res时,我看到:

content://application_id/my_table_name/10
content://application_id/my_table_name/11


这是否意味着该行插入了ID为10和11的2次?

但是,如果我要插入两个具有相同ID的行怎么办?
如何验证正在发生什么?
我的实际问题:我对重复PK更新感兴趣,并注意到了这一点

最佳答案

这是否意味着该行插入了ID为10和11的2次?


想必。您必须与实施ContentProvider的任何人交谈,然后询问他们。


  但是,如果我要插入两个具有相同ID的行怎么办?


您必须与实施ContentProvider的任何人交谈,然后询问他们。这个星球上没有其他人可以回答这个问题。众所周知,ContentProvider不受SQLite支持,也没有主键的概念。或者,主键可能是_ID列,而不是ContentValues中的列之一。


  如何验证正在发生什么?


您必须与实施ContentProvider的任何人交谈,然后询问他们。只有他们知道他们在哪里以及如何存储数据。

07-28 01:37
查看更多