【问题标题】:Like query with prepared statement [duplicate]像带有准备好的语句的查询[重复]
【发布时间】:2014-09-13 18:17:21
【问题描述】:
val term="govind"
SQL("SELECT id,name FROM acc WHERE name like '%"+term+"%'") //works
但是
SQL("SELECT id,name FROM acc WHERE name like '%{term}%'").on("term"->term) // doesn't works
我如何将第一个查询转换为它工作的准备好的语句?
【问题讨论】:
标签:
mysql
prepared-statement
【解决方案2】:
作为替代方案,我们可以在 SQL 文本中包含 % 通配符,并将它们与绑定参数结合,使用 MySQL CONCAT 函数,例如:
SQL("SELECT id,name FROM acc WHERE name LIKE CONCAT('%',{term},'%'").on("term"->term)
【解决方案3】:
包括% 和term 关键字作品
SQL("SELECT id,name FROM acc WHERE name like {term}").on("term"->("%"+term+"%"))