android - 如何在房间数据库中实现sqlite查询?
问题描述
这是我想在房间数据库中使用的 SQLite 查询,这是第一个尝试插入数据,如果数据已经存在,则使用 id 更新数据
INSERT INTO books(id, title, author, year_published) VALUES(@id, @title, @author, @year_published)
ON DUPLICATE KEY UPDATE title = @title, author = @author;
解决方案
您可以使用OnConflictStrategy.REPLACE实现此目的
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertBooks(vararg books: Book)
你必须指定 id id作为主键
@Entity(tableName = "book_table")
data class Book(
@PrimaryKey val id: String,
val title: String,
val author: String,
val year_published: Int
)
推荐阅读
- c# - 如何在 EF Core 中实现这种“通过之间的连接”SQL?
- git - 自动将所有 GitHub 存储库镜像到 gitlab
- python - Pypy 上的多处理是线程的,但仅在 1 个核心上
- angular - 如何在本地存储中正确设置数据?
- python - Python:循环时更新字典中的值
- python - 如何从第二个位置带有“i”的列表中找到单词?[Python]
- pytest - Pytest,根据白名单验证文件列表
- css - 使用 Elementor 格式化文本编辑器
- neutralinojs - NeutralinoJS:错误:缺少必需的参数“名称”
- r - R 比较 (1) 仅适用于原子和列表类型