admin

如何为java准备好的语句插入使用表名变量

sql

我正在使用 java PreparedStatment 对象来构造一系列批量插入查询。查询语句的格式为…

String strQuery = "INSERT INTO ? (col1, col2, col3, col4, col5) VALUES (?,?,?,?,?,?);";

…所以字段值和表名都是变量(即,我有多个具有相同列格式的表,其中每个插入都将被定向到不同的表)。如果我删除“?”,我可以让执行工作 表名变量和硬代码,但每个准备好的语句都将插入到不同的表中,因此需要保留一个变量,我在执行批处理查询之前立即使用…

stmt.setString(1, "tableName1");

我怎样才能让它成为一个动态变量?


阅读 254

收藏
2021-07-01

共1个答案

admin

你不能。您需要使用字符串连接/占位符和 String.format 来构造 sql。准备好的语句用于列值而不是表名。

2021-07-01