如何在mysql Server中动态分配表名

时间:2017-08-03 08:06:23

标签: java mysql jdbc netbeans dynamic-tables

我正在尝试动态创建mysql中的表并使用提供的电子邮件地址为其分配名称。但每当我尝试动态分配表名时,它会向我显示错误,而且我不知道如何满足我的要求。

这是我写的代码

String TableName = Email.getText();
try {

    String myTableName = "CREATE TABLE '" + TableName + "' "
            + "(id INTEGER not NULL, "
            + " first VARCHAR(255), "
            + " last VARCHAR(255), "
            + " age INTEGER, "
            + " PRIMARY KEY ( id ))";;

    Class.forName(m.RegisterationString);
    java.sql.Connection con;
    con = DriverManager.getConnection(m.URL, m.UserName, m.Password);
    Statement State = con.createStatement();
    //This line has the issue
    State.executeUpdate(myTableName);
    System.out.println("Table Created");
}

1 个答案:

答案 0 :(得分:0)

在MySQL中,表的名称不应介于''之间,它可以介于:

之间
String myTableName ="CREATE TABLE `" + tableName + "`"
//--------------------------------^-----------------^

注意为了实现良好的实践,请不要使用大写字母StateTableNameEmail

开始变量名称