我正在使用jdbc PreparedStatement 进行数据插入。
Statement stmt = conn.prepareStatement(
"INESRT INTO" + tablename+ "("+columnString+") VALUES (?,?,?)");
tablename 和 columnString 是动态生成的内容。我尝试将 tablename 和 columnString 参数化,但它们最终会解析为类似于“tablename”的内容,这会违反语法规则。
我在网上找到了一些建议,建议我查找数据库以检查有效的 tablename/columnString,并将其缓存到其他查询的某个地方(例如 Hashset),但我正在寻找更好的性能/快速解决方法,也许是一个字符串验证器/正则表达式可以解决问题。
有没有人遇到过这个问题,你是如何解决的?
[]
,对于 MySQL 使用或者使用
"`,具体取决于数据库。 - Lukasz Szozda