2
我可以在子句使用带有ScalikeJDBC的SQL插值?例如在与SQL插值条款
val ids = Set(1,2,3,5)
sql"""update foo set bar=${bar} where id in ${ids}""".update().apply()
由于ids
未被内插,因此失败。
sql"""update foo set bar=${bar} where id in (${ids.mkString(",")})""".update().apply()
这也失败了,因为表达式被解释为字符串而不是数字列表。例如... where id in ('1,2,3,5')
你说的很正确。我不知道我以前做错了什么。我已经回到我以为我最初尝试过的方式,现在正在工作。ありがとう – Synesso
不知道是原因的OP的问题,但是如果你不小心使用Java集合,你静静地得到异常插值行为:'斯卡拉> SQL“”“更新富集酒吧= 1,其中身份证件($ {集(5, 1,2,3,4).asJava}) “”” statement'给出 'RES2:字符串=更新FOO组巴= 1其中id在()'?。这对我造成了一些问题;我可能会针对scalikejdbc提交一个错误。 –
我提起[ScalikeJDBC错误](https://github.com/scalikejdbc/scalikejdbc/issues/469)。 –