Android领域:主键约束被破坏.值已存在:0

Kev*_*rlo 4 android primary-key zero realm

我现在和Realm一起工作很多.我很喜欢!但有一点真的很烦人,就是在使用copyToRealmOrUpdate时我无法将主键设置为零.我从服务器上取回了我的身份证.第一个id为零.所以我的应用程序立即崩溃说:Primary key constraint broken. Value already exists: 0.如果这是一个不同的数字,它可以正常工作,但它会在零时崩溃.这是一个错误还是任何人都可以帮助我?

谢谢!

Chr*_*ior 6

来自境界的基督徒在这里.0有点问题,因为它也是整数的默认值.这意味着如果你有0作为实际值,你会遇到使用API​​的问题Realm.createObject().也就是说,我们刚刚修复了一个使用的错误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'
Run Code Online (Sandbox Code Playgroud)