【问题标题】:No database selected Error While Creating Table in MySQL with Java使用 Java 在 MySQL 中创建表时未选择数据库错误
【发布时间】:2017-01-05 22:02:07
【问题描述】:

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


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 表在顺序和代码中也是第一个。 我不知道为什么它会抛出异常。你能指导我吗?

【问题讨论】:

  • 您没有选择数据库,如异常所示。第二个查询起作用的原因是因为您指定了数据库表。
  • @tkausl 我还在Sales_Invoice_Help 表中将数据库指定为My_Test_Project.Sales_Invoice_Help。其中My_Test_Project 是数据库的名称。
  • @tkausl 感谢您的快速回复。

标签: java mysql exception database-connection


【解决方案1】:

我相信这行你需要添加数据库名称:

REFERENCES Sales_Invoice (sale_inv_id)

所以现在应该是:

 REFERENCES My_Test_Project.Sales_Invoice (sale_inv_id)

【讨论】:

  • @InzimamTariqIT 太好了。你能接受答案吗?
  • @InzimamTariqIT 我的荣幸
猜你喜欢
  • 1970-01-01
  • 2010-10-25
  • 2014-03-25
  • 2020-11-10
  • 2013-10-01
  • 1970-01-01
  • 2012-07-15
  • 2019-12-27
  • 1970-01-01
相关资源
最近更新 更多