【发布时间】:2010-11-09 11:03:47
【问题描述】:
我想创建一个表来存储设备设置。该表共有三行:id、parameter_name 和 parameter_value。
该表是通过执行以下查询语句创建的:
DATABASE_CREATE = "create table DATABASE_TABLE (KEY_ID INTEGER PRIMARY KEY AUTOINCREMENT, KEY_NAME INTEGER not null, VALUE TEXT not null);
然后通过执行以下方法存储行:
private long insertRow(int rowParameter, String rowValue, SQLiteDatabase db){
long res = -1;
ContentValues settingsParameterValues = new ContentValues();
settingsParameterValues.put(KEY_NAME, rowParameter);
settingsParameterValues.put(VALUE, rowValue);
if(db != null){
res = db.insert(DATABASE_TABLE, null, settingsParameterValues);
}
return res;
}
创建数据库时会存储默认值:
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DATABASE_CREATE);
insertRow(PRIVACY_LEVEL_ROW_INDEX, "0", db);
insertRow(STREAM_TITLE_ROW_INDEX, "untitled", db);
insertRow(STREAM_TAGS_ROW_INDEX, "", db);
}
insertRow() 方法的问题在于它无法防止重复条目。
有谁知道在这种情况下如何防止重复条目?
【问题讨论】:
标签: sql database android sqlite