数据库导入后核心数据唯一约束失败

时间:2015-08-05 21:13:52

标签: ios database sqlite core-data

我正在将旧的.sqlite数据库中的数据复制到我计划在我的应用程序中使用的新.sqlite数据库中。旧数据库包含一个<html> <head> <script src="jquery.js"></script> <script> $(function(){ $("#includedContent").load("b.html"); }); </script> </head> <body> <div id="includedContent"></div> </body> </html> 个对象表,其中包含许多属性。

要复制数据,我使用FMDB查询旧数据库中的所有行,然后我执行: class Thing : NSManagedObject然后使用旧数据库中的行在Thing *thing = [NSEntityDescription insertNewObjectForEntityForName:@"Thing" inManagedObjectContext:context]上设置每个属性。并以thing结束。

复制有效,数据显示在应用中。但是,当我尝试添加新数据时,出现错误:[context save:&error]。如果我只创建新数据库并且不复制任何数据,那么可以很好地写入新数据。

因此,我将旧数据复制到新数据库中会导致主键出现问题。有谁知道可能导致这种情况的原因?

1 个答案:

答案 0 :(得分:0)

我面临同样的情况,并按照以下步骤解决:

1使用DB Browser的DB Browser

2转到由系统

创建的Z_PRIMARYKEY表

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