我有一个表,其中有 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,所以我不知道该设置在哪里(或者即使它存在)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)