【发布时间】:2014-09-05 14:36:01
【问题描述】:
我一直在尝试在数据库中创建一个表。该代码没有显示错误并且运行良好,但最终没有在数据库中创建表。请帮忙。
public void createTable(){
try {
String host = "jdbc:derby://localhost:1537/fypDB";
String uname = "test";
String pword = "test";
Connection con = DriverManager.getConnection( host, uname, pword );
Statement stmt = con.createStatement();
//username is valid variable from main class
String SQL = "CREATE TABLE "+username+" (classId VARCHAR(255), "+"PRIMARY KEY ( classId ))";
stmt.executeUpdate( SQL );
System.out.println(SQL);
} catch (SQLException err){
System.out.println(err.getMessage());
}
}
【问题讨论】:
-
是否启用了自动提交?
-
您不应该为每个用户创建一个表。有一个表,并使用户名成为该表中的一个字段。
-
根据stackoverflow.com/questions/11962028/…,您缺少分号:
String SQL = "CREATE TABLE "+username+" (classId VARCHAR(255), "+"PRIMARY KEY ( classId ));"; -
在终端打印你的SQL并尝试直接在mysql上运行看看会发生什么。