将SQL IN子句与的实例一起使用的最佳解决方法java.sql.PreparedStatement是什么,由于SQL注入攻击安全性问题,多个值不支持该子句:一个?占位符代表一个值,而不是值列表。
java.sql.PreparedStatement
?
考虑以下SQL语句:
SELECT my_column FROM my_table where search_column IN (?)
使用preparedStatement.setString( 1, "'A', 'B', 'C'" );本质上是一种不可行的尝试,它是首先解决使用原因的方法?。
preparedStatement.setString( 1, "'A', 'B', 'C'" );
有哪些解决方法?
建议的选项是:
SELECT my_column FROM my_table WHERE search_column = ?
SELECT my_column FROM my_table WHERE search_column IN (?,?,?)
SELECT my_column FROM my_table WHERE search_column = ? ; SELECT my_column FROM my_table WHERE search_column = ? ;
WHERE search_column IN (?,?,?)
SELECT my_column FROM my_table WHERE search_column IN (1,2,3,4,5,6,6,6,6,6)