我正在使用PreparedStatement来执行mysql数据库的查询。我写了类似下面的内容:
String createQuery = "create table FEATURE(ID varchar(15) not null, ?, ?, ?)";
preparedStatement = connect.prepareStatement(createQuery);
//replacing question marks in prepared statement
int i =1;
for(Map.Entry<String,Boolean> entry: featureBool.entrySet()){
String col_final = "`"+entry.getKey()+"`"+" varchar(5)";
preparedStatement.setString(i, col_final);
}
我面临的问题是,当执行此查询时,单引号将附加到开头并结束到在createQuery中替换?的字符串。可以请别人帮助我,因为我被卡住了吗?
例如,如果col_final =“Feature-1 varchar(5)”,那么在preparedStatement中它将变为'Feature-1 varchar(5)'。
答案 0 :(得分:0)
准备语句用于DML(插入,删除,更新)或DQL(选择)。
创建表是DDL,Prepared语句不适用于此。请改用语句并在java中动态创建DDL语句。