Scala InsertOrUpdate在Slick中-不使用主键时
我们正在Scala项目中使用Slick。我们需要在一个模块中执行Upsert操作(插入/更新)。我们知道的一种方法是简单地使用SQL语句并执行它,但现在我们希望使用Slick来执行它 因为我们使用的Slick版本支持InsertOrUpdate()操作,所以我们希望使用它。现在有一个问题:- 我们的表有一个主键,即设置为自动递增的索引。我们要做的upsert操作是在一个事务id上进行的,虽然该事务id应该是唯一的,但在数据库中没有标记为unique或primary keyScala InsertOrUpdate在Slick中-不使用主键时,scala,slick,Scala,Slick,我们正在Scala项目中使用Slick。我们需要在一个模块中执行Upsert操作(插入/更新)。我们知道的一种方法是简单地使用SQL语句并执行它,但现在我们希望使用Slick来执行它 因为我们使用的Slick版本支持InsertOrUpdate()操作,所以我们希望使用它。现在有一个问题:- 我们的表有一个主键,即设置为自动递增的索引。我们要做的upsert操作是在一个事务id上进行的,虽然该事务id应该是唯一的,但在数据库中没有标记为unique或primary key 如何处理这种情况?我尝
如何处理这种情况?我尝试通过首先检查表,然后插入/更新来手动实现Upsert,但在生产环境中,当每秒有许多请求传入时,这是失败的,我们有2次插入,大约占结果的1%。您提到的纯SQL解决方案是什么?