【问题标题】:Getting column does not exist error in postgresql sql table [duplicate]在postgresql sql表中获取列不存在错误[重复]
【发布时间】:2021-02-02 22:20:15
【问题描述】:

我在 postgresql 中有一个类似这样的 sql 表,名为 test

    date    |  data   |      source      
------------+---------+------------------
 2015-09-23 | 128     | aaamt
 2015-09-24 | 0       | aaamtx2
.....

我输入SELECT * FROM test where source="aaamt",但出现以下错误,

ERROR:  column "aaamt" does not exist
LINE 1: SELECT * FROM test where source = "aaamt";

为什么会出现此错误以及如何解决?

【问题讨论】:

标签: sql postgresql string-constant


【解决方案1】:

双引号向 Postgres 表明您正在尝试指定 标识符,例如列名或表名。对字符串文字使用单引号,您的查询应该可以工作:

SELECT *
FROM test
WHERE source = 'aaamt';

在这里要清楚,您当前的查询基本上被解释为:

SELECT *
FROM test
WHERE source = aaamt;

这里aaamt 被视为列名或其他数据库标识符,而不是字符串文字。

【讨论】:

    【解决方案2】:

    您需要使用single quote 而不是double quote

    SELECT * FROM test where source = 'aaamt'
    

    【讨论】:

      猜你喜欢
      • 2020-05-12
      • 1970-01-01
      • 2019-05-08
      • 2019-07-28
      • 2021-04-05
      • 2020-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多