Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Db房间插入重复行?

如何在Db房间插入重复行?
EN

Stack Overflow用户
提问于 2020-05-06 00:52:24
回答 1查看 1K关注 0票数 0

在搜索时,我只遇到一些人在询问如何避免使用room db插入重复行。但我的应用程序有一个功能,用户可以点击一个复制按钮,列表项目将再次插入到数据库中。如果我的表没有在其中一个字段上设置主键,我本可以简单地做到这一点。While I found this solution for SQLite,我不知道如何在Db房间中实现这一点。因为,在编写带有自定义查询的insert查询时,首先将无法实现使用空间的目的。

EN

回答 1

Stack Overflow用户

发布于 2020-05-06 03:54:18

假设你有某种实体

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Entity(tableName = "foo_table")
data class Foo (
    @PrimaryKey(autoGenerate = true) var id: Int,
    // or without autogeneration
    // @PrimaryKey var id: Int = 0,
    var bar:String
)

还有一些带有insert的Dao:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun insert(foo: Foo)

然后,要复制现有值(copiedValue: Foo),需要以某种方式管理主键:

  1. Scenario 1。您的主键是自动生成的,必须将其设置为默认值才能获得新的自动生成键:

copiedValue.id = 0 yourDao.insert(copiedValue)

  • Scenario 2。您的主键不是自动生成的,您必须手动设置新的主键:

copiedValue.id = ... // some code to set new unique id yourDao.insert(copiedValue)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61631108

复制
相关文章
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。
AiDBA宝典
2019/09/30
28.9K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
如何防止数据重复插入?
问题起源,微信小程序抽风 wx.request() 重复请求服务器提交数据。后端服务也很简单,伪代码如下:
Lenis
2019/12/25
3.1K0
如何防止数据重复插入?
MySQL 批量插入:如何不插入重复数据?
业务很简单:需要批量插入一些数据,数据来源可能是其他数据库的表,也可能是一个外部excel的导入
程序猿DD
2021/09/03
3.6K0
python 去除重复行
from pandas import read_csv; df = read_csv('D://PA//4.3//data.csv') newDF = df.drop_duplicates();
py3study
2020/01/08
3.1K0
Linux删除重复行
第一,用sort+uniq,注意,单纯uniq是不行的。 sort -n test.txt | uniq
阳光岛主
2019/02/19
11.7K0
MySQL避免插入重复数据
设置唯一索引,可以是联合字段,比如你觉得id不够,你还可以id+name,还可以id+age+name这样子的唯一索引。
乐心湖
2020/07/31
2.9K0
MySQL 插入数据时如何不插入重复的数据
针对一些基础业务数据如用户表,要保证主键Primary或Unique不重复,如果在插入时做判断,效率低且代码复杂。
IT工作者
2021/12/30
7.4K0
Mysql批量插入时,如何不插入重复的数据
业务很简单:需要批量插入一些数据,数据来源可能是其他数据库的表,也可能是一个外部excel的导入
Java旅途
2021/07/13
5.4K0
MySql批量插入时,如何不插入重复的数据
业务很简单:需要批量插入一些数据,数据来源可能是其他数据库的表,也可能是一个外部excel的导入
用户8949263
2022/04/08
2.8K0
MySql 批量插入时,如何不插入重复的数据
来源:http://www.telami.cn/2018/when-mysql-batch-inserts-and-how-to-not-insert-duplicate-data/
逆锋起笔
2021/06/11
3.5K0
shell 往DB中插入数据脚本
用户5760343
2022/05/18
5310
shell 往DB中插入数据脚本
MySQL | 查找删除重复行
本文讲述如何查找数据库里重复的行。这是初学者十分普遍遇到的问题。方法也很简单。这个问题还可以有其他演变,例如,如何查找“两字段重复的行”(#mysql IRC 频道问到的问题)
逍遥子大表哥
2021/12/17
5.8K0
MySQL | 查找删除重复行
MySQL插入重复后进行覆盖更新
在MySQL中,常常会有唯一键的约束,当使用Java插入重复的值后,会报异常我们需要进行捕获处理。
半月无霜
2023/10/26
5690
MySQL 如何实现重复插入时更新
最近 MySQL 数据库经常报错 Duplicate key 的错误,虽然我已经在 Insert 之前使用 query 进行了判断,如果已有则更新,但是还是经常会报这个错误,经过一段查询资料,发现 MySQL 已经提供了两种解决方法:
Denis
2023/04/15
1.1K0
如何防止数据重复插入?| 签到福利
问题起源,微信小程序抽风 wx.request() 重复请求服务器提交数据。后端服务也很简单,伪代码如下:
二哥聊运营工具
2021/12/17
8240
如何防止数据重复插入?| 签到福利
Navicat数据同步,主键重复无法插入
Navicat是一个非常好用的可视化mysql管理软件(其他数据库也有对应版本的支持)
宣言言言
2019/12/19
2.9K0
Navicat数据同步,主键重复无法插入
sed插入和附加新行
sed可以在文本的某一行前或者后插入一行或者多行文本。这涉及到insert和append两个命令。
生信编程日常
2020/07/30
8.7K0
面试官:MySQL 批量插入,如何不插入重复数据?
业务很简单:需要批量插入一些数据,数据来源可能是其他数据库的表,也可能是一个外部excel的导入。
终码一生
2022/04/14
1.4K0
精通Java事务编程(5)-弱隔离级别之写倾斜与幻读
多个事务并发写相同对象时,会出现脏写和更新丢失两种竞争条件。为避免数据不一致,可:
JavaEdge
2022/07/25
7660
精通Java事务编程(5)-弱隔离级别之写倾斜与幻读
[日常] Go语言圣经-查找重复行
2.map存储了键/值(key/value)的集合,对集合元素,提供常数时间的存、取操作,map[string]int ==> key的类型string和value的类型int
唯一Chat
2019/09/10
1.1K0

相似问题

房间不向DB插入数据

11

Android房间db中复合键插入重复值,App崩溃

212

从db房间删除行

12

将数据插入Db房间时的ConcurrentModificationException

30

重复重复地在重复行上失败DB插入可以吗?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文