【问题标题】:Core Data Unique Constraint Failed after DB Import数据库导入后核心数据唯一约束失败
【发布时间】:2015-08-05 21:13:52
【问题描述】:

我正在将数据从旧的 .sqlite 数据库复制到一个新的 .sqlite 数据库中,我计划从现在开始在我的应用程序中使用该数据库。旧数据库包含一个class Thing : NSManagedObject 对象表,上面有许多属性。

为了复制数据,我使用 FMDB 查询旧数据库中的所有行,然后执行以下操作: Thing *thing = [NSEntityDescription insertNewObjectForEntityForName:@"Thing" inManagedObjectContext:context] 然后使用旧数据库中的行在thing 上设置每个属性。并以[context save:&error] 结尾。

复制成功,数据显示在应用程序中。但是,当我尝试添加新数据时出现错误:UNIQUE constraint failed: ZTHINGS.Z_PK。如果我只是创建新数据库,不复制任何数据,那么新数据就可以写好了。

所以,我将旧数据复制到新数据库时出现问题,导致主键不正常。有谁知道这可能是什么原因?

【问题讨论】:

  • 您的问题解决了吗?我面临同样的错误。

标签: ios database sqlite core-data


【解决方案1】:

我遇到同样的情况,按照以下步骤解决:

1 使用 SQLite 数据库浏览器

2 转到系统创建的 Z_PRIMARYKEY 表

3 将 Z_MAX 值更改为您需要的值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-01
    • 2019-10-10
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    相关资源
    最近更新 更多