用java创建mysql表
我正在尝试使用java for mysql创建一个表。代码如下用java创建mysql表,java,mysql,Java,Mysql,我正在尝试使用java for mysql创建一个表。代码如下 Statement stmt2 = con.createStatement(); String sql = "CREATE TABLE " + libcard + "(Title INTEGER, " + " Director VARCHAR(255), " + " dateBorrowed DATE, " +
Statement stmt2 = con.createStatement();
String sql = "CREATE TABLE " + libcard +
"(Title INTEGER, " +
" Director VARCHAR(255), " +
" dateBorrowed DATE, " +
" dueDate DATE)";
stmt.executeUpdate(sql);
但总有错误:异常消息如下所示:_
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“23232.0”(Title INTEGER,Director VARCHAR(255),datelooked DATE,dueDate DATE)附近要使用的正确语法
试试这个代码
try{
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Connecting to a selected database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Connected database successfully...");
System.out.println("Creating table in given database...");
stmt = conn.createStatement();
String sql = "CREATE TABLE " + libcard +
"(Title INT(2), " +
" Director VARCHAR(255), " +
" dateBorrowed DATE, " +
" dueDate DATE)";
stmt.executeUpdate(sql);
System.out.println("Created table in given database...");
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
检查有关如何生成有效表名的信息。在您的情况下,应在其周围加上反勾:
String sql = "CREATE TABLE `" + libcard + "`" +
" (Title INTEGER, " +
" Director VARCHAR(255), " +
" dateBorrowed DATE, " +
" dueDate DATE)";
什么样的表名是
23232.0
?@juergend:我猜(希望如此)这是一个输入错误,而不是一个表名……错误消息可能是从输出中复制的。在我看来,这不是输入错误。@eggyal:我不是说它无效或错误,我是说它没有意义。@lzmaki如果你不知道域,就不能说它没有意义。它可能是一个包含对象号23232.0的数据的表。