房间是否支持自动时间戳?例如,我的表只有两个字段。一个是字符串"ABC",第二个是自动时间戳。完全相同的一行显示为"ABC",然后是OnConflictStrategy.REPLACE替换第一个字符串,并添加了一个新的时间戳和一个新的日期。有空房间吗?
发布于 2020-10-08 18:08:02
我不知道更新的内置方式。对于新行的插入,您可以为时间戳字段设置default value,但这对更新没有帮助。
您可以尝试下一步的方法(我不确定它们是否可以称为auto-timestamp):
模拟auto-timestamp,
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertAndUpdateTimestamp(foo: Foo)
fun insert(foo: Foo) { // <-- should be called from outside (Repository etc)
foo.updated = [here set timestamp's value you need] // <-- updated - is timestamp field
insertAndUpdateTimestamp(foo)
}如果在foo实例中存在与数据库中已经存在的相同的主键,则行更新(在您的示例中为字符串主键- "ABC")。
使用Sqlite触发器(创建触发器,每次插入/更新时更新所需字段)的
https://stackoverflow.com/questions/64252456
复制相似问题