加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL列“foo”不存在

发布时间:2020-12-13 16:39:30 所属栏目:百科 来源:网络整理
导读:我有一个表,它有20个整数列和1个文本列名为’foo’ 如果我运行查询: SELECT * from table_name where foo is NULL 我收到错误: ERROR: column "foo" does not exist 我已经检查自己,他的专栏确实存在。如果我做这样的事情: SELECT * from table_name wh
我有一个表,它有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,所以我不在那个设置(即使它存在)。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读