如何通过内容提供商检查我的SQLite数据库中是否已有特定记录

时间:2018-04-02 16:29:55

标签: android sqlite persistence android-contentprovider

基本上,我有一个通过API下载的项目列表,在某些时候,我将其中一些项目记录到我的SQLite数据库中。我通过内容提供商执行CRUD操作,例如(插入,查询,更新,删除),现在我想知道如何使用或在我的内容提供程序中检查特定记录是否已存在于我的数据库,所以我不需要再插入它。更具体地说,对于我的代码,每个记录的项目都有一个从API接收的id(不是主键)我想检查反对该ID(当然存储在我的数据库中的一列中)。

1 个答案:

答案 0 :(得分:0)

使用UNIQUE约束定义列,并在插入时使用INSERT OR IGNORE

e.g。

创建表格,如: -

CREATE TABLE IF NOT EXISTS atable (id INTEGER UNIQUE, mydata TEXT);

插入如下: -

INSERT OR IGNORE INTO atable VALUES(10,'myvalue');

显然,根据您的绝密要求根据需要调整此项不得显示代码。 :)