【发布时间】:2021-11-23 03:06:32
【问题描述】:
@Entity(tableName = "DailyGraphData", indices = [Index(value = arrayOf("lastTimeUsed","beginningTime"), unique = true)])
data class DailyGraphData(
@PrimaryKey(autoGenerate = true)
val id: Int = 0,
var appName: String,
var packageName: String,
var totalAppTimeInForeground: Long? = 0L,
var lastTimeUsed: String? = "",
var beginningTime: String? ="",
var endTime: String? = "",
var isChild: Boolean
)
这是我的实体类,其中 beginTime 和 lastTimeUsed 我保持唯一,但是当我尝试运行应用程序时,我第一次有 8 个数据出现并存储在如下屏幕的表格中
现在我正在尝试再次插入具有 10 个值的数据,其中 8 个与之前的 2 个新值相同,但是这次 isChild 现在尝试插入时将为 1,我不知道为什么它会更新前一个值,请参阅在下面的屏幕中。
您可以在此屏幕中看到所有先前的值更新是child true 以及另外两个值条目
我想要的是,如果 8 条记录已插入 !ischild 和 lastTimeused 并且当我尝试插入另一个时,它应该插入新的 lasttime used 并请求时间,请帮助我我做错了什么
【问题讨论】:
-
看起来他们没有更新,你在插入新值之前清除表。
标签: android android-room-relation