PostgreSQL列“foo”不存在

前端之家收集整理的这篇文章主要介绍了PostgreSQL列“foo”不存在前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个表,它有20个整数列和1个文本列名为’foo’

如果我运行查询

SELECT * from table_name where foo is NULL

我收到错误

ERROR:  column "foo" does not exist

我已经检查自己,他的专栏确实存在。如果我做这样的事情:

SELECT * from table_name where count is NULL

结果输出显示“foo”作为列之一….
我猜想我必须在查询中做一些特别的事情,因为foo是一个文本列…

感谢您的帮助(POSTGREsql 8.3)

您不小心创建了具有尾部空格的列名称,并且可能是PHPPGadmin创建了带有双引号的列名称
create table your_table (
    "foo " -- ...
)

那会给你一个看起来像是被称为foo的列,但你必须双引号,并包含空间,当你使用它:

select ... from your_table where "foo " is not null

最好的做法是使用Postgresql的小写无引号列名。在PHPPGadmin中应该有一个设置,它会告诉它不要引用标识符(例如表和列名),但是唉,我不使用PHPPGadmin,所以我不在那个设置(即使它存在)。

猜你在找的Postgre SQL相关文章