[英]Core Data Unique Constraint Failed after DB Import
我正在将数据从旧的.sqlite数据库复制到计划从现在开始在应用程序中使用的新的.sqlite数据库。 旧数据库包含class Thing : NSManagedObject
的表class Thing : NSManagedObject
对象,上面有许多属性。
要复制的数据,我使用FMDB来查询所有行的旧数据库,然后我做的: Thing *thing = [NSEntityDescription insertNewObjectForEntityForName:@"Thing" inManagedObjectContext:context]
,然后设置每个属性thing
使用旧数据库中的行。 并以[context save:&error]
结尾。
复制成功,数据显示在应用程序中。 但是,当我尝试添加新数据时,出现错误: UNIQUE constraint failed: ZTHINGS.Z_PK
。 如果我只是创建新数据库而不复制任何数据,则可以很好地写入新数据。
因此,我将旧数据复制到新数据库中时会出现问题,导致主键无法使用。 有谁知道这可能是什么原因?
我面临相同的情况,并按照以下步骤解决:
1将数据库浏览器用于SQLite
2进入系统创建的Z_PRIMARYKEY表
3将Z_MAX值更改为所需的值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.