我正在写一个Java
应用程序自动构建和运行 SQL 查询。对于许多表,我的代码工作正常,但在某个表上,它会因抛出以下异常而卡住:
Exception in thread "main" org.postgresql.util.PSQLException: ERROR: column "continent" does not exist
Hint: Perhaps you meant to reference the column "countries.Continent".
Position: 8
已运行的查询如下:
SELECT Continent
FROM network.countries
WHERE Continent IS NOT NULL
AND Continent <> ''
LIMIT 5
这本质上返回5
列中的非空值。
我不明白为什么我会收到“列不存在”错误,而它显然在pg管理员4。我可以看到有一个名为Network
其中包含表countries
该表有一列名为Continent
正如预期的那样。
由于所有列、模式和表名称都是由应用程序本身检索的,我认为不存在拼写或语义错误,那么为什么会这样呢?PostgreSQL无论如何都会造成问题?在 pgAdmin 4 中运行查询而不使用建议的countries.Continent
工作中。
我的 PostgreSQL 版本是目前最新的:
$ psql --version
psql (PostgreSQL) 9.6.1
如何才能成功运行查询?
尝试将其放入双引号 - 就像"Continent"
在查询中:
SELECT "Continent"
FROM network.countries
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)