小编Har*_*arv的帖子

无法在Realm Android中更改主键的值

我正在尝试将主键的当前值更改为另一个.像这样.

realm?.executeTransactionAsync ({ realm ->
    val teamRealmObj = realm?.where(Team::class.java)?.equalTo("name", oldTeamName)?.findFirst()
        teamRealmObj?.name = newTeamName
    })
Run Code Online (Sandbox Code Playgroud)

这里name属性是主键.

我收到了这个错误.

创建对象后,无法更改主键字段'name'失败.

我怎样才能做到这一点?我是否必须复制(只有不同​​的名称属性)并删除旧的?这将导致一对多或多对多的关系,因为必须在数据库中的每个位置替换新对象.

需要一个更好的方法来做到这一点.谢谢,如果有人能帮我解决这个问题.

android realm realm-migration

0
推荐指数
1
解决办法
1762
查看次数

标签 统计

android ×1

realm ×1

realm-migration ×1