SQLiteDatabase: Wstaw tylko wtedy, gdy wartość nie istnieje (nie za pomocą surowego polecenia SQL)

Wiem, że istnieje polecenie SQL, które wygląda tak:IF NOT EXISTS, ale od AndroidaSQLiteDatabase klasa ma kilka świetnych metod, zastanawiałem się, czy możliwe jest wstawienie wartości, jeśli nie istnieje za pomocą metody.

Obecnie używam tego do wstawieniaString:

public long insertString(String key, String value) {
    ContentValues initialValues = new ContentValues();
    initialValues.put(key, value);
    return db.insert(DATABASE_TABLE, null, initialValues);
}

(db jest przykłademSQLiteDatabase.)

Próbowałem metodyinsertOrThrow() zamiastinsert(), ale wygląda na to, że działa tak samoinsert(). Oznacza to, że jeśli wartość jest już w wierszu, jest wstawiana ponownie, więc wiersz ma teraz dwie wartości o tej samej wartości.

questionAnswers(4)

yourAnswerToTheQuestion