SQL未知数据库

时间:2015-06-08 17:08:41

标签: java mysql sql

所以,我试图用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,我的网址,用户名和密码都是正确的(三重检查它们!)。

3 个答案:

答案 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"