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

PostgreSQL“ olumn不存在”,但实际上确实存在

贾骏
2023-03-14
问题内容

我正在编写一个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从该列返回非空值。

我不明白为什么在pgAdmin
4中
确实出现“列不存在”错误。我可以看到有一个名称Network包含该表的架构,countries并且该表具有一个Continent按预期方式命名的列。

由于所有列,模式和表名均由应用程序本身检索,所以我认为没有拼写或语义错误,因此PostgreSQL为什么会引起问题?在pgAdmin4中运行查询或使用建议的查询countries.Continent均有效。

我的PostgreSQL版本是到目前为止的最新版本:

$ psql --version
psql (PostgreSQL) 9.6.1

如何成功运行查询?


问题答案:

尝试将其用双引号引起来-如"Continent"查询中所示:

SELECT "Continent"
FROM network.countries
...


 类似资料:
  • 我正在编写一个应用程序来自动构建和运行SQL查询。对于许多表,我的代码工作正常,但在某个表上,它会抛出以下异常: 已运行的查询如下所示: 这实际上是从列中返回非空值。 我不明白为什么在pgAdmin 4中出现“列不存在”错误。我可以看到有一个名为的模式,其中包含表,该表有一个名为的列。 既然所有的列、模式和表名都是由应用程序本身检索的,我不认为存在拼写或语义错误,那么为什么PostgreSQL会导

  • 问题内容: 有人知道您的表确实存在时,在什么条件下会收到错误? 我在5台服务器上使用了相同的代码,但我最近租用的服务器上只有一个显示此错误,因此我怀疑这可能是某种设置或安装错误。我可以从命令行执行我的sql语句。很显然,我也可以从命令行查看该表。建立连接时,我没有任何连接错误(我正在使用mysqli,btw)。 任何帮助,将不胜感激。 确切查询: 问题答案: 基本上,我认为我遇到的问题是由于密码哈

  • 每当我调试应用程序时,就会出现一个错误,,应用程序也不会启动。 更新Android Studio后,此错误开始发生。 经过大量搜索,我尝试了不同的解决方案。这包括: 降级Android Studio(它开始给出插件错误,我不想不能使用新的Android Studio) 尝试了这个解决方案却没有成功 这是一个不同的问题,但有可能解决我的问题。它也不起作用 提到这个问题 任何帮助将不胜感激。

  • 问题内容: 我要添加此表: 我得到了1050个“表已经存在” 但是该表不存在。有任何想法吗? 编辑:更多细节,因为每个人似乎都不相信我:) 产量: 1146-表’gunzfact_vbforumdb.contenttype’不存在 和 产量: 1050-表“ contenttype”已存在 问题答案: 听起来好像您有Schroedinger的桌子 … 严重的是,现在您的表可能已损坏。尝试: 如果您

  • 我见过几个类似的问题,但没有一个答案在我的情况下工作,除了它可能与权限有关。 Apache提供的PHP脚本告诉我, 。我无法(用户不可用)。 我的脚本在中。DBFILE是它的某个地方(我尝试了,都在中,但也没有运气)。 没有安全模式,新安装的PHP5.4,CentOS7。 请有人给我一个线索,至少帮助调试它。比如:我如何检查我的文件是否可以从apache/我的php脚本中读取,而不运行脚本本身?如

  • 我正在自动化一个枯燥的数据输入任务,所以我创建了一个程序,基本上是使用Selenium为我点击和键入。它跑得很好!除非它到达这个特定的“编辑详细信息...”元素,但是,无论我尝试什么方法,selenium都无法找到该元素。 我尝试使用一个CSS选择器来访问ID,但没有成功。我还尝试使用XPATH,并尝试通过给它一个带有按钮文本的'contains'语句来更加具体。最后,我使用selenium ID