Scala Play Framework Anorm SQL.on 禁用包装替换为 ' '

Renyi-Fan 阅读:14 2024-11-01 17:39:52 评论:0

每当我使用 on 替换 SQL 查询中的占位符时,它都会用 '' 包围替换,有没有办法防止这种情况发生?

这意味着我不能做类似的事情

SQL("SELECT * FROM {table} blah").on("table" -> tabletouse)  

因为它用 '' 包裹了表名,这会导致 SQL 语法错误。

请您参考如下方法:

你当然可以结合这两种方法,对你不想被转义的数据使用格式函数

SQL( 
  """ 
    select %s from %s 
    where 
      name = {name} and 
      date between {start} and {end} 
    order by %s 
  """.format(fields, table, order) 
).on( 
  'name     -> name, 
  'start    -> startDate, 
  'end      -> endDate 
) 

请注意,您使用格式功能发送的数据不应来自用户输入,否则应对其进行适当清理


标签:Scala
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号