假设我有一个这样的实体类:
case class MyEntity(some_flag: Boolean) extends KeyedEntity[Long]
我想使用 Squeryl 执行以下 SQL 更新:
update table_name set some_flag = not some_flag where id = 1
执行此操作的相关 Squeryl 语句是什么?我已经试过了
def toggleFlag(id: Long) = inTransaction {
update(table)(entity =>
where(entity.id === id)
set(entity.some_flag := !entity.some_flag)
)
}
但这对数据库没有任何影响。
更新 2: Squeryl文档给出了将整数值增加 1 的部分更新示例:
update(songs)(s =>
where(s.title === "Watermelon Man")
set(s.title := "The Watermelon Man",
s.year := s.year.~ + 1)
)
更新:
我将 Squeryl 0.9.5-6 与 Scala 2.10 和 Play 一起使用!2.1