Java Android SQLite:快速插入/更新
在我的Android应用程序中,我使用编译语句来快速插入行:Java Android SQLite:快速插入/更新,java,android,sqlite,Java,Android,Sqlite,在我的Android应用程序中,我使用编译语句来快速插入行: insert = db.compileStatement( "INSERT INTO foo (id, aaa, bbb, ccc) " + "VALUES (?,?,?,?)"); 这工作正确且速度相当快。但是,当已经有foo和id时,我收到以下异常: column id is not unique (code 19) 覆盖现有行的正确方法是什么 覆
insert = db.compileStatement(
"INSERT INTO foo (id, aaa, bbb, ccc) " +
"VALUES (?,?,?,?)");
这工作正确且速度相当快。但是,当已经有foo
和id
时,我收到以下异常:
column id is not unique (code 19)
覆盖现有行的正确方法是什么
覆盖现有行的正确方法是什么
指定一个名称,例如
如果插入将导致冲突,则首先删除冲突行,然后插入新行
覆盖现有行的正确方法是什么
指定一个名称,例如
如果插入将导致冲突,则首先删除冲突的行,然后插入新行。如果要覆盖它,请使用
更新
-语句。如果要覆盖它,请使用更新
-语句。这会起作用,但要小心!确保它完全符合您的需求。请记住,这将首先“删除”行(如果它存在),然后用新行替换它。这与行更新不同。如果您需要实际更新行但不删除它,那么您可以首先对该表执行一个简单的查询以确定它是否存在,然后执行一个更新(如果存在),否则执行一个插入。这会起作用,但要小心!确保它完全符合您的需求。请记住,这将首先“删除”行(如果它存在),然后用新行替换它。这与行更新不同。如果您需要实际更新该行,但不删除它,那么您可以首先对该表执行简单的查询以确定它是否存在,如果存在,则执行更新,否则执行插入。
INSERT OR REPLACE INTO foo ...