首页 > 技术文章 > Java连接postgreSQL数据库,找不到表。

LCharles 2018-10-15 10:43 原文

postgreSQL数据库遵守SQL标准,表名库名不区分大小写。

数据库中是存在 gongan_address_ALL的表的,但是执行下列代码就会出错。

1                  stmt = c.createStatement();
2                  String sql = "SELECT * FROM gongan_address_ALL ";
3                  ResultSet rs = stmt.executeQuery( sql );

报错为org.postgresql.util.PSQLException: ERROR: relation "gongan_address_all" does not exist
这是由于表名被自动转成了小写,执行的是查找 gongan_address_all 表的操作,所以会找不到。

解决方法就是修改成:

                 stmt = c.createStatement();
                 String sql = "SELECT * FROM \"gongan_address_ALL\"";
                 ResultSet rs = stmt.executeQuery( sql );

双引号必须在表名前后不能是:

String sql = "SELECT * FROM gongan_address_\"ALL\"";

推荐阅读