Android SQLite:快速插入/更新

Voj*_*ěch 0 java sqlite android

在我的Android应用程序中,我使用编译语句来快速插入行:

insert = db.compileStatement(
                    "INSERT INTO foo (id, aaa, bbb, ccc) " +
                    "VALUES (?,?,?,?)");
Run Code Online (Sandbox Code Playgroud)

这工作正常且非常快.但是当已经foo有了id,我收到以下异常:

column id is not unique (code 19)
Run Code Online (Sandbox Code Playgroud)

覆盖现有行的正确方法是什么?

laa*_*lto 5

覆盖现有行的正确方法是什么?

指定冲突解决策略,例如

INSERT OR REPLACE INTO foo ...
Run Code Online (Sandbox Code Playgroud)

如果插入会导致冲突,则首先删除冲突的行,然后插入新行.