【发布时间】:2011-04-12 15:49:55
【问题描述】:
我正在提示用户将项目添加到 SQLiteDb。当他们点击添加时,我想检查该项目是否已经存在......如果不存在,那么我想插入它。
我打电话
mDbHelper.createNote(inputLine.getText().toString().trim(), mTable[i]);
调用...
public long createNote(String value, String table) {
ContentValues initialValues = new ContentValues();
initialValues.put(table, value);
return mDb.insert(table, null, initialValues);
}
这是可行的,但它不会检查项目是否已经存在,所以它仍然会插入重复项。所以我尝试了
return mDb.insertWithOnConflict(table, null, initialValues, SQLiteDatabase.CONFLICT_FAIL);
但是,它似乎无法识别 insertWIthOnConflict 或 SQLiteDatabase.CONFLICT_FAIL...
我怎样才能让它工作?
编辑:它是 1 个表,2 行。表名 = 注释,行 = _id,注释。
【问题讨论】:
-
您是否已将_id 列声明为主键?
-
是,主键自增
-
How to do IF NOT EXISTS in SQLite 详细介绍了一种很多更好的方法来做到这一点