获取列在 postgresql sql table 中不存在错误

Getting column does not exist error in postgresql sql table

我有一个 sql table 在 postgresql 中看起来像这样,叫做 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";

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

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

SELECT * FROM test where source = 'aaamt'

双引号向 Postgres 表明您正在尝试指定一个 标识符 ,例如列或 table 名称。对字符串文字使用单引号,您的查询应该有效:

SELECT *
FROM test
WHERE source = 'aaamt';

在这里要明确一点,您当前的查询基本上被解释为:

SELECT *
FROM test
WHERE source = aaamt;

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