我正在编写一个Java
应用程序来自动构建和运行SQL查询。对于许多表,我的代码可以正常工作,但对于某个表,它会抛出以下异常:
线程“main”org.postgresql.util.PSQLException中的异常:错误:列“Continental”不存在
提示:也许你是指“国家.大陆”一栏。
职位:8
已运行的查询如下所示:
选择大陆
来自网络国家
大陆不是空的
和大陆<>;''
限制5
这实际上是从列中返回5
非空值
我不明白为什么在pgAdmin 4中出现“列不存在”错误。我可以看到有一个名为Network
的模式,其中包含表countries
,该表有一个名为contraction
的列,正如预期的那样
既然所有的列、模式和表名都是由应用程序本身检索的,我不认为存在拼写或语义错误,那么为什么PostgreSQL会导致问题呢?在pgAdmin4中运行查询,也不使用建议的国家/地区。Continume
正在运行
我的PostgreSQL版本是目前最新的:
$psql--版本
psql(PostgreSQL)9.6.1
如何成功运行查询
请尝试将其用双引号引起来,如查询中的“大陆”:
选择“大陆”
来自网络国家
...