[英]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.