【问题标题】:Issue with CoreData: error: (19) PRIMARY KEY must be uniqueCoreData 的问题:错误:(19)PRIMARY KEY 必须是唯一的
【发布时间】:2012-11-01 20:58:44
【问题描述】:

这是我用来将新对象插入我的 Raza 实体的代码。不过没什么特别的。我在我的应用程序的任何地方都使用了这个委托方法和语法,但由于某种原因,我不能在这个特定实体上做到这一点。

-(void)guardarRaza:(NSString *)nombre guardar:(BOOL)guardar{

        if (guardar) {
            Raza *raza = [NSEntityDescription insertNewObjectForEntityForName:@"Raza"
                                                       inManagedObjectContext:self.managedObjectContext];
            raza.nombre = nombre;            
            NSError *error;
            if (![self.managedObjectContext save:&error]) {
                NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
                abort();
            }
        }
        [self dismissModalViewControllerAnimated:YES];
    }

问题可能来自 sqlite,因为我们使用一个版本来预填充启动的版本。我遵循了名为“核心数据教程:如何预加载/导入现有数据”的 raywenderlich 方法。

它确实可以与其他实体一起顺利运行,但是当我插入并保存该特定实体时,它会因 CoreData 崩溃:错误:(19) PRIMARY KEY must be unique。我已经检查了 sqlite,手动插入和删除了新行,它可以正常工作。

有没有人有同样的问题,或者知道如何解决它。 提前致谢

【问题讨论】:

  • 谢谢,但之前找到了这个答案。它没有解决所问的问题。我通过检查我的 sqlite db 并通过用正确的参数替换表 Z_ENT 来解决这个问题。

标签: iphone core-data nsfetchedresultscontroller nsmanagedobjectcontext


【解决方案1】:

我刚刚遇到了同样的错误,并找到了我在另一篇 SO 帖子中详述的解决方案:

Why is this code raising the "CoreData: error: (19) PRIMARY KEY must be unique" error?

【讨论】:

    猜你喜欢
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 2021-02-13
    相关资源
    最近更新 更多