【问题标题】:Android Room Database allways start with Primarykey 0 for new Entrys对于新条目,Android 房间数据库始终以主键 0 开头
【发布时间】:2019-03-04 23:19:26
【问题描述】:

我得到一个数组,其中包含未指定数量的具有不同 x 和 y 值的 BlueCones,每 0.5 秒我收到新的 BlueCones,应该替换“blue_cone”表中的旧 Cones 如何自动生成始终启动的密钥0 表示新的传入锥。

@Entity(tableName ="blue_cones")
data class BlueCone(

val x: Double = 0.0,
val y: Double = 0.0

){
@PrimaryKey(autoGenerate = true)
var blueId: Int = 0

}

【问题讨论】:

    标签: android kotlin primary-key android-room


    【解决方案1】:

    Room 不支持重置主键 UNIQUE。一种选择是添加另外两个字段,它们形成一个组合键:例如。 sequence(请求的编号)和coneId,其中coneId 可以从 0 开始,每个新的请求/响应。我也曾经解释过here如何重置自动增量值,以防万一(但一般不推荐)。

    正如@Advice-Dog 昨天建议的那样,蓝色和黄色应该是Cone 类的属性。只能确认,这很有可能是有意义的……除非有严格的要求,否则将它们存储在两个单独的表中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-05
      相关资源
      最近更新 更多