相关疑难解决方法(0)

PostgreSQL列名称区分大小写吗?

我有一个db表说,persons在Postgres中由另一个有列名称的团队传下来,"first_Name".现在我正在尝试使用PG指令器在此列名称上查询此表.

select * from persons where first_Name="xyz";
Run Code Online (Sandbox Code Playgroud)

它只是回归

错误:列"first_Name"不存在

不确定我是在做一些愚蠢的事情,还是我找不到这个问题的解决方法?

sql postgresql case-sensitive case-insensitive identifier

138
推荐指数
3
解决办法
9万
查看次数

Django:在模型管理器中获取模型的表名?

我有一个模型,并为这个模型有一个模型管理器.我正在模型管理器中编写一些sql,我需要在sql中使用模型的表名.我知道表的名称由元数据app_label和db_name组合,但是我可以从经理类访问它们吗?我知道我可以在经理中创建一个模型实例,但我宁愿不这样做..

非常感谢!

django

11
推荐指数
3
解决办法
4635
查看次数

PostgreSQL"列不存在"但实际上它确实存在

我正在编写一个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
Run Code Online (Sandbox Code Playgroud)

已运行的查询如下:

SELECT Continent
FROM network.countries
WHERE Continent IS NOT NULL
AND Continent <> ''
LIMIT 5
Run Code Online (Sandbox Code Playgroud)

这实质上5从列中返回非空值.

我不明白为什么我在pgAdmin 4中明显地出现"列不存在"错误.我可以看到有一个名称Network包含表的模式countries,该表有一个名称Continent与预期一样的列.

由于应用程序本身检索了所有列,模式和表名称,我认为没有拼写或语义错误,为什么PostgreSQL会导致问题呢?在pgAdmin4中运行查询也不使用建议countries.Continent的工作.

我的PostgreSQL版本是迄今为止的最新版本:

$ psql --version
psql (PostgreSQL) 9.6.1
Run Code Online (Sandbox Code Playgroud)

如何成功运行查询?

sql postgresql quoted-identifier

9
推荐指数
3
解决办法
3万
查看次数