使用Scala Slick的Postgres SET命令

时间:2014-02-01 20:54:12

标签: scala slick

我正在尝试执行一个简单的Postgres SET操作来增加表格中的列数量。它应该看起来像这样Increment a value in Postgres

我想避免编写原始SQL语句。

我知道UpdateInvoker就像这样工作

val q = for { c <- Coffees if c.name === "Espresso" } yield c.price
q.update(10.49)

val statement = q.updateStatement
val invoker = q.updateInvoker

但我需要原子操作。

1 个答案:

答案 0 :(得分:1)

Slick目前不支持修改更新查询中的现有值。我们有一张票https://github.com/slick/slick/issues/497

您现在可以做的是使用一个事务,您首先检索该值,然后再将修改后的值写回。

确保将隔离级别设置为Serializable。