У меня есть таблица вроде этого:Вставить SQLite запись, если не существует, то с ограничением уникальности
CREATE TABLE students(
firstname VARCHAR(64),
lastname VARCHAR(64),
essay LONGTEXT,
UNIQUE(firstname, lastname) ON CONFLICT REPLACE);
Я хочу, чтобы вставить запись - если он уже существует, я просто хочу, чтобы обновить его:
String firstname = "bob";
String lastname = "smith";
String essay = "foo";
ContentValues values = new ContentValues();
values.put("firstname", firstname);
values.put("lastname", lastname);
values.put("essay", essay);
SQLiteDatabase db = ...;
db.insert("students", null, values);
Поскольку я использую «ON CONFLICT REPLACE», могу ли я просто полагаться на метод insert(), чтобы позаботиться обо всех моих случаях: (1) запись студента не существует, поэтому вставьте (2) ученика запись существует, поэтому перезапишите ее.
Благодаря
вы пробовали 'replace' или' replaceOrThrow() 'методы? – yugidroid
Да, вы можете. Если имя и фамилия уже существуют, запись будет заменена – ramaral