Bla*_*man 3 scala playframework slick
我正在尝试为特定表创建通用计数器更新方法.
我的表有很多列只是计数器,在我的应用程序中我需要递增/递减这些计数器.
我试图创建一个这样的方法:
private def updateCounter(column: String, id: Int, incr: Int)(implicit session: Session): Unit = {
sqlu"update table1 set $column = $column + $incr where id=$id".first
}
Run Code Online (Sandbox Code Playgroud)
然后我会创建一个方法来调用它(我不想在这个Dao类之外公开这个方法).
我收到此错误:
[PSQLException: ERROR: syntax error at or near "$1" Position: 20]
Run Code Online (Sandbox Code Playgroud)
Dim*_*tri 11
尝试更换$column的#$column.$用于绑定变量,它不适用于列或表名等标识符,而#$像s""字符串插值一样只是字符串替换.
还要确保您的列变量不容易受到SQL注入的攻击.