Я знаю, что есть команда 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(). То есть, если значение уже находится в строке, оно снова вставлено, так что теперь строка имеет два значения одного и того же значения.