簡體   English   中英

在MySQL中使用Java創建表

[英]Creating table using java in mysql

我有一個簡單的項目,在用戶注冊結束時,它可以通過mySql數據庫中該用戶的名稱創建特定表。

連接到數據庫后。 執行更新的功能:

public String UpdateDBQuery(String query) throws IOException{
    try {
        int ursa = st.executeUpdate(query);
        if (ursa == 0) {
            throw new SQLException("Creating user failed, no rows affected.");
        } else {
            return "succeed";
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return null;
}

調用函數:

String DBOutput = connect.UpdateDBQuery("CREATE TABLE '"+UserName+"' (ID INT(20) AUTO_INCREMENT PRIMARY KEY, PROFILEIMAGES VARCHAR(100), REG_DATE timestamp)");

但是我上面的代碼通過一個異常說:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''jasdfhkjhasdkfj' (ID INT(20) AUTO_INCREMENT PRIMARY KEY, PROFILEIMAGES VARCHAR(' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
at com.mysql.jdbc.Util.getInstance(Util.java:387)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:942)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3966)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3902)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2526)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2673)

雖然我通過互聯網搜索,但找不到問題。

所有答復都非常感謝:)

我認為您通常需要查看MYSQL和數據庫。 您正在嘗試為單個用戶創建表。

我建議您事先查看一些有關數據庫和sql的教程。 您希望有一個用戶表,在其中為每個用戶添加行,而不是為每個用戶創建新表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM