我有一张这样的表:
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)学生条目存在,所以覆盖它。
由于
答案 0 :(得分:0)
您必须阅读文档:
INSERT或UPDATE的OR子句中指定的算法 覆盖CREATE TABLE中指定的任何算法。如果没有算法 在任何地方指定,使用ABORT算法。