2014-03-26 69 views
0

我在尝试将表项添加到表中主键已存在的表中时收到此异常。android:SQLiteConstraintException:PRIMARY KEY必须是唯一的

我添加了规则ON CONFLICT REPLACE。因此,当出现重复条目​​而不是提供异常时,不会取代该行。 (_id integer primary key,“......(_id)ON CONFLICT REPLACE)”);

+1

尝试更改语法。使用字段声明添加约束:(_id整数主键在冲突替换,...​​); 如果这不起作用try(_id integer primary key,...... UNIQUE(_id)ON CONFLICT REPLACE); – Hbibna

+0

如果上述Hbibna的建议无效,请考虑发布一些更多代码来突出显示此问题。 – laalto

回答

0

不是使用INSERT子句,而是使用INSERT OR REPLACE。

+0

尝试过,但抛出一个异常... android.database.sqlite.SQLiteException:近“INSERT”:语法错误(代码1):编译时:CREATE TABLE table_contact(_cid整数主键,contactName TEXT NOT NULL,UNIQUE (_cid)在冲突插入或替换); –

+0

也许问题在于你定义表格的方式。你的唯一ID是什么?它是如何管理的(通过你的代码/自动增量)? – Samuelens

相关问题