gpt4 book ai didi

scala - 如果在 Slick 3.0.0 中不存在则插入以进行批量插入

转载 作者:行者123 更新时间:2023-12-02 04:46:05 24 4
gpt4 key购买 nike

我读了answer .我怎样才能为束插入做同样的事情?

我有项目列表,我插入这些项目:

tbl ++= items

每个项目只是Item(id:String, text:String)id是主键。

我只想使用一个 sql 查询在表 tbl 中插入不存在的项目。

光滑 3,postgresql

最佳答案

你可以尝试这样做:

  1. 检查数据库中存在哪些条目
  2. 过滤掉它们
  3. 批量插入

代码示例:

def markAsNew(list: Seq[IssueEvent]): Future[Option[Int]] = {
val ids = list.map(_.originEventId)).map(_.originEventId)
dbRun((for {
existing <- events.filter(_.originEventId inSet ids).result
filtered = list.filter(event => existing.contains(event.originEventId))
count <- events ++= filtered
} yield count).transactionally)
}

关于scala - 如果在 Slick 3.0.0 中不存在则插入以进行批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32693162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com