所以,我试图用Java创建一个SQL数据库。这种方法在我之前的程序中有效,但我只是想确保它是对的。我正在获得一个未知的数据库"错误,这似乎很奇怪,因为我正在创建数据库。
这是我的Java代码:
Connection connection = DriverManager.getConnection(url, userName, password);
String sql = "CREATE TABLE IF NOT EXISTS " + tableName + "(itemid INTEGER PRIMARY KEY, amount INTEGER, currprice INTEGER, pricefloor INTEGER, priceceiling INTEGER, currbought INTEGER, pricechange INTEGER, dynamicpricing BOOLEAN);";
String sql2 = "CREATE DATABASE IF NOT EXISTS " + databaseName + ";";
Statement statement = connection.createStatement();
statement.executeUpdate(sql2);
statement.executeUpdate("USE " + databaseName + ";");
statement.executeUpdate(sql);
statement.close();
当然,它都包含在try / catch语句中。如果出现错误,我会抓住堆栈跟踪。我正在使用MySQL,我的网址,用户名和密码都是正确的(三重检查它们!)。
答案 0 :(得分:0)
不确定与Java
相关的任何错误,但从以下代码声明中移除;
statement.executeUpdate("USE " + databaseName + ";");
应该是
statement.executeUpdate("USE " + databaseName);
有关详细信息,请参阅MySQL Documentation
答案 1 :(得分:0)
我认为你在这里使用的是dbname并且还没有存在?
Connection connection = DriverManager.getConnection(url, userName, password);
使用
url = "jdbc:mysql://ip/"
使用dbname
答案 2 :(得分:0)
我认为你需要在连接字符串本身中提供url和数据库。从这里 - JDBC MYSQL Connection without specifying database? - 也许你的mysql jdbc版本不支持连接到mysql而不指定数据库。
你应该尝试像 -
这样的东西url = "jdbc:mysql://ip:port/dbname"