PreparedStatement中的单引号

时间:2013-09-27 17:30:18

标签: java mysql jdbc

我正在使用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)'。

1 个答案:

答案 0 :(得分:0)

准备语句用于DML(插入,删除,更新)或DQL(选择)。

创建表是DDL,Prepared语句不适用于此。请改用语句并在java中动态创建DDL语句。