【问题标题】:android : SQLiteConstraintException: PRIMARY KEY must be uniqueandroid : SQLiteConstraintException: PRIMARY KEY 必须是唯一的
【发布时间】:2014-03-26 08:30:23
【问题描述】:

我在尝试向表中已存在主键的表中添加条目时遇到此异常。

我添加了关于冲突替换的规则。那么当有重复条目而不是给出异常时,是否不希望替换该行。

(_id 整数主键,"...... (_id )ON CONFLICT REPLACE)");

【问题讨论】:

  • 尝试更改语法。使用字段声明添加约束: (_id integer primary key on conflict replace,...);如果这不起作用尝试 (_id integer primary key,...... UNIQUE (_id ) ON CONFLICT REPLACE);
  • 如果 Hbibna 的上述建议没有帮助,请考虑发布更多代码来突出问题。

标签: android sqlite replace


【解决方案1】:

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

【讨论】:

  • 试过但抛出异常... android.database.sqlite.SQLiteException: near "INSERT": syntax error (code 1): , while compile: CREATE TABLE table_contact ( _cid integer primary key , contactName TEXT NOT NULL, UNIQUE (_cid) ON CONFLICT INSERT OR REPLACE);
  • 可能问题出在您定义表格的方式上。您的唯一 ID 是什么?它是如何管理的(通过您的代码/自动增量)?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-01
  • 1970-01-01
  • 2023-04-01
  • 2012-09-10
  • 1970-01-01
  • 1970-01-01
  • 2021-11-15
相关资源
最近更新 更多