Java 如何使用API而不是硬编码字符串进行sqlite升级?
我想在sqlite表中插入(如果不存在,则在插入时更新)一些行 我看到了这个sqlite命令:Java 如何使用API而不是硬编码字符串进行sqlite升级?,java,android,database,sqlite,Java,Android,Database,Sqlite,我想在sqlite表中插入(如果不存在,则在插入时更新)一些行 我看到了这个sqlite命令: INSERT OR REPLACE INTO Employee (id, name, role) VALUES (1, 'John Foo', 'CEO'); 我如何通过代码API使用它 我想用: if (db.update(SAVED_OFFERS_TABLE_NAME, values, KEY_UID, new String[] { values.getAsString(K
INSERT OR REPLACE INTO Employee (id, name, role)
VALUES (1, 'John Foo', 'CEO');
我如何通过代码API使用它
我想用:
if (db.update(SAVED_OFFERS_TABLE_NAME, values, KEY_UID,
new String[] { values.getAsString(KEY_UID) }) == 0) {
db.insert(SAVED_OFFERS_TABLE_NAME, // table
null, // nullColumnHack
values);
}
还有更优雅的方法吗?用插入(…)代替插入(…)。或者
execSQL()
执行原始的插入或替换SQL。这比我目前的方式好吗?是的,减少了对数据库的往返,避免了潜在的并发问题(在更新和插入之间修改了数据库)。