我正在尝试执行一个简单的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
但我需要原子操作。
答案 0 :(得分:1)
Slick目前不支持修改更新查询中的现有值。我们有一张票https://github.com/slick/slick/issues/497
您现在可以做的是使用一个事务,您首先检索该值,然后再将修改后的值写回。
确保将隔离级别设置为Serializable。