前端之家收集整理的这篇文章主要介绍了
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,所以我不在那个设置(即使它存在)。