Slick可以生成一个SQL语句,执行更新,根据另一列更新列吗?我希望实现这样的目标:
UPDATE table SET col1 = (col2 + 5) WHERE col3 = "Foo"
我查看了Query.mutate()
,但我的理解是计算将在客户端执行(而不是在数据库服务器上)。
我希望它是这样的:
Query(table).updateV2 { r => (r.col1 -> r.col2 + 5) }
无论如何在Slick中实现这一点而不编写原始查询?
答案 0 :(得分:1)
目前,typesafe API不支持。我们将在未来的某个时间添加一张票。
https://www.assembla.com/spaces/typesafe-slick/tickets/298-mutating-updates--update-foo-set-a-a+123
现在,您可以使用具有选择和后续更新的事务。或者简单的SQL。