9

Slick 3文档中的哪里记录了如何进行insertOrUpdate类似操作?

4

3 回答 3

3

slick 3.x 附带的 insertOrUpdate 方法仅限于 MySQL Only。您不会收到任何警告/代码文档,它只会抛出 Integrity 异常。

如果使用 Postgres,为了使用 Slick 进行 upsert,您可以使用slick-pg

于 2020-01-02T12:32:04.580 回答
2

Slick 中有这种支持。看看这个合并:Pull Request Merged Here在 Slick 2.1 中添加了支持。这些也称为upsert语句。

但是我认为你会想要使用普通的 SQL(对于你正在使用的本机数据库)来满足这种要求。在此处查看有关如何使用 Slick 执行此操作的示例。

基本上代码如下所示,

val reviews = TableQuery[<Class extending Table>]
val upsert: DBIO[Int] = reviews.insertOrUpdate(<value to be inserted>)
于 2016-04-04T17:04:20.183 回答
0

SimpleInsertActionComposer包含所需的方法:文档链接

于 2016-05-23T14:55:57.313 回答