获取列在 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
被视为列名或其他数据库标识符,而不是字符串文字。
我有一个 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
被视为列名或其他数据库标识符,而不是字符串文字。