[英]Table is not created in java-mySQL
我使用mySQL工作台创建了一个名为testdb的数据库。 然后我通过数据库>连接到数据库连接到它。 然后我在java(eclipse)中编写一些代码
代码输出显示连接和创建表已完成。
但是,当我返回mySQL时,在数据库中看不到任何表。 谁能帮我一下为什么不创建表?
package database;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class main {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
getConnection();
createTable();
}
public static void createTable() throws Exception {
try {
Connection con = getConnection();
PreparedStatement create = con.prepareStatement("CREATE TABLE IF NOT EXISTS tablename(id int NOT NULL AUTO_INCREMENT, first varchar(255), last varchar(255), PRIMARY KEY(id)");
create.executeUpdate();
}catch(Exception e) {System.out.println(e);}
finally {
System.out.println("Function complete.");
};
}
public static Connection getConnection() throws Exception{
try {
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/testdb";
String username = "root";
String password = "00000";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username, password);
System.out.println("Connected");
return conn;
} catch(Exception e) {System.out.println(e);}
return null;
}
}
这是输出:
连接的
连接的
java.sql.SQLSyntaxErrorException:您的SQL语法有错误; 检查与您的MySQL服务器版本相对应的手册,以在第1行的''附近使用正确的语法
功能齐全。
您的sql语句中缺少括号)
,正确的是
"CREATE TABLE IF NOT EXISTS tablename(id int NOT NULL AUTO_INCREMENT, first varchar(255), last varchar(255), PRIMARY KEY(id))"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.