java - 使用 Java 在 MySQL 中创建表时未选择数据库错误

标签 java mysql exception database-connection

几天前我用这段代码创建了一个数据库


sql = "Create Database if not exists My_Test_Project";
            stmnt.executeUpdate(sql);

然后创建了一些表。现在我用这个查询在其中创建了两个新表

sql = "CREATE TABLE if not exists My_Test_Project.Sales_Invoice_Help "
                    + "(inv_help_id INTEGER,"                    
                    + "item VARCHAR(255),"
                    + "qty INTEGER,"
                    + "rate DECIMAL (7, 2),"
                    + "total DECIMAL (7, 2),"
                    + "sale_inv_id INTEGER,"
                    + " PRIMARY KEY (inv_help_id),FOREIGN KEY (sale_inv_id) REFERENCES Sales_Invoice (sale_inv_id))";
            stmnt.executeUpdate(sql);

当我执行我的程序时它抛出异常

SEVERE: null
java.sql.SQLException: No database selected

但同时这个查询执行成功

sql = "CREATE TABLE if not exists My_Test_Project.Sales_Invoice "
                    + "(sale_inv_id INTEGER not NULL, "
                    + "date VARCHAR(255), "
                    + "acc_name VARCHAR(255),"
                    + "due_date VARCHAR(255),"
                    + "customer_name VARCHAR(255),"
                    + "receipt_no VARCHAR(255),"
                    + "freight_charges INTEGER,"
                    + "deliver_to VARCHAR(255),"
                    + "deliver_date VARCHAR(255),"
                    + "total INTEGER,"
                    + "discount INTEGER,"
                    + "g_total INTEGER ,"
                    + " PRIMARY KEY (sale_inv_id))";
            stmnt.executeUpdate(sql);

注意:Sales_Invoice 表在序列中和代码中都排在第一位。 我不知道为什么会抛出异常。你能指导我吗?

最佳答案

我相信在这一行中您需要添加数据库名称:

REFERENCES Sales_Invoice (sale_inv_id)

现在应该是:

 REFERENCES My_Test_Project.Sales_Invoice (sale_inv_id)

关于java - 使用 Java 在 MySQL 中创建表时未选择数据库错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39213592/

相关文章:

JAVA:在ArrayList中添加类型 "Shape"的对象?

java - 将 libgdx 部署到 android studio 上的 html5

MySql 将嵌套的 SELECT IN 查询转换为 JOIN

php - 在 yii2 中使用限制范围?

mysql - 如何创建具有分类值 ("home"、 "away"的列)以另一个表中的列值为条件

.net - 需要异常号而不是消息字符串

java - 清理 spring/tomcat/jboss 库中的临时文件的正确方法

java - Android - android.os.BadParcelableException : ClassNotFoundException when unmarshalling:

java - 使用注释进行异常处理?

java - Android Studio 中的 TransformException : java. util.zip.ZipException