我现在经常使用 Realm。我很喜欢!但真正烦人的一件事是,在使用 copyToRealmOrUpdate 时,我无法将主键设置为零。我从服务器取回我的 ID。第一个 ID 为零。所以我的应用程序立即崩溃并显示:Primary key constraint broken。值已存在:0
。如果这是一个不同的数字,它就可以正常工作,但它会在零时崩溃。这是错误还是有人可以帮助我?
谢谢!
最佳答案
这里是来自 Realm 的 Christian。 0 有点问题,因为它也是整数的默认值。这意味着如果您确实将 0 作为实际值,则使用 Realm.createObject()
等 API 时会遇到问题。也就是说,我们刚刚使用 Realm.copyToRealmOrUpdate()
修复了一个错误,该错误涵盖了您的确切用例:https://github.com/realm/realm-java/pull/995
它已经合并到 master 中,因此应该是我们的 -SNAPSHOT 版本的一部分,但尚未正确发布。您可以尝试使用:
repositories {
jcenter()
maven {
url 'http://oss.jfrog.org/artifactory/oss-snapshot-local'
}
}
compile 'io.realm:realm-android:0.80.1-SNAPSHOT'
关于Android Realm : Primary key constraint broken. 值已存在:0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29607714/