我正在尝试在java中创建一个MySql create table语句。然而,我面临的挑战是我的表的列名存储在用户输入的字符串数组中。如果我知道列名,那么直接运行,但这次我试图根据我在String数组中收到的数据动态创建一个表
如何将其动态添加到create table语句中?任何帮助/提示?
下面的创建表是静态的。
static String[] StopNamesForDB;
Set<String> set = new LinkedHashSet<String>(StopNames);
StopNamesForDB = new String[set.size()];
for (String string : set) {
StopNamesForDB[i] = string;
i++;
}
String sql = "CREATE TABLE Route3 "+
"(id INTEGER not NULL, " +
" first VARCHAR(255), " +
" last VARCHAR(255), " +
" age INTEGER, " +
" PRIMARY KEY ( id ))";
stmt.executeUpdate(sql);
答案 0 :(得分:0)
StringBuilder sql = new StringBuilder();
sql.append("create table route3(");
for(String name : StopNamesForDB)
{
sql.append(name).append(",");
}
sql.append("PRIMARY KEY (").append(StopNamesForDB[0]).append(")");
sql.append(")");
stmt.executeUpdate(sql.toString());