当前位置: 首页 > 面试题库 >

Java SQL“错误:关系“ Table_Name”不存在”

孔阳炎
2023-03-14
问题内容

我正在尝试将netbeans连接到我的postgresql数据库。该连接似乎已经起作用,因为仅在连接时我没有收到任何错误或异常,诸如getCatalog()之类的方法也返回正确的答案。

但是,当我尝试运行简单的SQL语句时,出现错误“错误:关系“
TABLE_NAME”不存在”,其中TABLE_NAME是数据库中确实存在的我的任何表。这是我的代码:

    Statement stmt = con.createStatement();

    ResultSet rs;

    String query = "SELECT * FROM clients";

    rs = stmt.executeQuery(query);

我以为netbeans可能找不到表,因为它不在默认模式(公共)中,有没有办法在Java中设置模式?

编辑:我的连接代码。数据库名称是Cinemax,当我省略语句代码时,没有任何错误。

    String url = "jdbc:postgresql://localhost:5432/Cinemax";
    try{

    try {
        Class.forName("org.postgresql.Driver");
    } catch (ClassNotFoundException cnfe) {
        System.err.println("Couldn't find driver class:");
        cnfe.printStackTrace();
    }

    Connection con = DriverManager.getConnection( url,"postgres","desertrose147");

问题答案:

我怀疑您使用双引号(例如,"Clients"或大写/小写字符的其他组合)创建了表,因此表名现在区分大小写。

声明是什么

 SELECT table_schema, table_name
 FROM information_schema.tables 
 WHERE lower(table_name) = 'clients'

返回?

如果返回的表名不是小写字母,则在引用它时必须使用双引号,如下所示:

String query = "SELECT * FROM \"Clients\"";


 类似资料:
  • 问题内容: 我正在尝试在PostgreSQL 8.4.2 DB上运行hibernate模式。每当我尝试运行一个简单的Java代码,例如: 我收到以下错误: 由于我将选项hibernate.show_sql选项设置为true,因此可以看到hibernate尝试运行以下SQL命令: 实际上,它至少应运行以下命令: 有谁知道我需要进行哪些更改才能使Hibernate为PostgreSQL生成正确的SQL

  • 我使用PostgreSQL 10、Spring Boot 2.2.7.Release和pgAdmin 4来实现Postgres GUI 我有以下实体类: 我已经使用GUI PGADMIN4为ID列“TB03_TABLE_A_SEQ”创建了表“TB03_TABLE_A”和序列 我哪里出问题了?请救命! 提前感谢!

  • 我试图在Spring Boot的一个查询示例JPQL中实现一个子查询,但出现了错误 我的实体表结构如下: 我尝试实现的查询如下: 我无法理解内部查询也返回一组类型Case,整个查询也是如此,但是当一起编写时会出现错误。有人能帮忙吗,我如何实现这个? 提前谢谢。

  • :“查询执行失败。原因: SQL错误[42P01]:错误:关系”temp_table“存在。 不存在” 我想创建一个临时表来临时存储一些记录。

  • 问题内容: 我在使用PostgreSQL 9.3和使用qoutes创建的表时遇到了一个奇怪的问题。例如,如果我使用qoutes创建表: 该表已正确创建,在pgAdminIII的SQL窗格中查看该引号时,可以看到保留了引号。但是,当我查询数据库以查找所有可用表的列表时(使用下面的查询),我看到结果不包含表名的引号。 由于该表是用引号创建的,因此我无法直接使用上述查询返回的表名,因为该表名未加引号,并

  • 我在列名方面也遇到了同样的问题,但我希望如果我能找到一个解决表名问题的方法,那么类似的方法也能适用于列名。