-1

我有一个在 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";

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

4

2 回答 2

2

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

SELECT * FROM test where source = 'aaamt'
于 2020-10-20T05:53:02.490 回答
1

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

SELECT *
FROM test
WHERE source = 'aaamt';

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

SELECT *
FROM test
WHERE source = aaamt;

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

于 2020-10-20T05:53:38.113 回答