如果我有一张 table :
CREATE TABLE
abc
(
xyz INTEGER,
abc INTEGER
);
我这样做:
select * from abc order by abc;
它按名为 abc 的列工作和排序。
但是,如果我没有名为“abc”的列:
CREATE TABLE
abc
(
xyz INTEGER,
abcxyz INTEGER
);
但我运行相同的查询:
select * from abc order by abc;
postgres 没有返回错误信息。
我只是想知道为什么 postgres 不返回错误消息,因为显然“abc”不是有效列,所以我不可能按该列排序。
我正在使用 PostgreSQL 9.6.7
最佳答案
Postgresql 创建一个默认的 TYPE
结构,当我们创建一个表时。所以当我们在查询中使用它时,它作为 TYPE
返回,为了验证这一点,
向表中插入一行并运行
select pg_typeof(abc) from abc;
它给出了结果。
pg_typeof
abc
关于postgresql - 如果没有具有该名称的列,当我尝试按表名排序时,为什么 postgresql 不提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49055256/