0

我正在使用 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);
}

我面临的问题是当这个查询被执行时,单引号被附加到开头和结尾被替换的字符串在创建查询中。因为我被卡住了,请有人帮助我吗?

例如,如果 col_final = "Feature-1 varchar(5)" 那么在preparedStatement 中它会变成'Feature-1 varchar(5)'。

4

1 回答 1

0

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

创建表是 DDL,Prepared 语句不是为了那个。请改用语句并在 java 中动态创建 DDL 语句。

于 2013-09-27T17:40:17.193 回答