【发布时间】:2016-06-13 19:10:01
【问题描述】:
我有这样的MYSQL查询
String query="select DISTINCT sctName from snomedicd10map where sctName Like '" + search + "%" + "' LIMIT 5 ";
此查询用于自动完成,如果我在输入 Apostrophe(') 空点异常时搜索 code's 、girl's 等单词
我该如何克服这一点。当用户在文本字段中使用 Apostrophe(') 输入名称时,它应该获取结果。
我已经从 mysql 数据库中获取结果。
我怎样才能做到这一点。
【问题讨论】:
-
您可以使用
"而不是',您可以转义它们(例如\'),或者您可以通过将查询设置为参数化查询并传递字符串末尾附加%作为参数。 -
stackoverflow.com/a/1812920/4421474 尝试使用准备好的语句作为最佳实践
-
@Uueerdo 我试图改变它显示相同的错误你会像这样改变上面的查询
-
我对Java不是很熟悉,我提供的转义序列可能是错误的(正如下面喜马拉雅的回答所暗示的那样)。
-
你真的应该使用prepared statement,并通过prepared statement设置参数,然后你就不需要自己逃跑了。
标签: java mysql jdbc sql-like apostrophe