Я знаю, что есть команда SQL, которая выглядит примерно так: IF NOT EXISTS
, но поскольку класс Android SQLiteDatabase
имеет несколько прекрасных методов, мне было интересно, можно ли вставить значение, если оно не существует с помощью метода.
В настоящее время я использую это для вставки String
:
public long insertString(String key, String value) {
ContentValues initialValues = new ContentValues();
initialValues.put(key, value);
return db.insert(DATABASE_TABLE, null, initialValues);
}
(db
является экземпляром SQLiteDatabase
.)
Я попробовал метод insertOrThrow()
вместо insert()
, но, похоже, он делает то же самое, что и insert()
. То есть, если значение уже находится в строке, оно снова вставлено, так что теперь строка имеет два значения одного и того же значения.