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)。 –