我想使用anorm 2.5.2将文字'${a}'插入到一个表中,这意味着我想要执行这个纯SQL查询
INSERT INTO `db`.`table` (`a`) VALUES ('${a}');而不使用任何异常/字符串插值。当我尝试执行以下操作时
SQL("INSERT INTO `db`.`table` (`a`) VALUES ('${a}');").execute()我得到了一个anorm.Sql$MissingParameter: Missing parameter value异常,因为它试图在${a}上使用anorm插值,但是在作用域中没有可用的值a。
如何转义异常/字符串插值$...和${...}
发布于 2016-10-08 13:26:21
您可以将${a}设置为参数的值,即
SQL("""INSERT INTO db.table (a) VALUES ({x})""").on("x" -> s"$${a}")(s"$${a}"是一种编写"${a}"的方法,而不会收到关于可能缺少插值器的警告)。
相同的代码可以写成与
val lit = s"$${a}"
SQL"""INSERT INTO db.table (a) VALUES ($lit)"""下面的方法可能会起作用,但我不确定:
SQL"INSERT INTO db.table (a) VALUES ('$${a}')"也有必要问一问这是故意的行为还是bug:当谈论参数化的SQL查询时,在'中有一个参数是没有意义的。
https://stackoverflow.com/questions/39921015
复制相似问题