【发布时间】:2015-03-03 22:26:57
【问题描述】:
大家好,
我正在使用 Java 在执行时组装一个查询字符串,该字符串应该作为准备好的语句在数据库上执行。由于我事先不知道 IN 子句中的参数数量,因此我不能使用固定参数(又名“?”字符),因此我将 IN 子句序列创建为 Java 中的字符串并在我的代码中替换它,例如所以:
String statement = SQLUpdates.MYUPDATESTRING.replace("#INCLAUSE#", inList);
但是,变量 inList 中的字符串序列包含几个特殊字符,它们似乎破坏了我的选择,众所周知的是数字符号字符 (#)。有没有办法可以在 Java 或我的 SQL Select String 中转义那些?我不认为我可以在 IN 子句之后使用 ESCAPE 子句,那么我的选择是什么?
【问题讨论】:
标签: java mysql sql escaping special-characters