我在 PostgreSQL 中有下表:
id 和 Grade 是 INT,注释和主题都是 VARCHAR
当我运行命令时:
SELECT * FROM grades
WHERE subject = "latin";
我收到以下错误:
在 pgAdmin4 中: 错误:“拉丁语”列不存在 第 2 行:其中主题 =“拉丁语” ^ SQL状态:42703 人物:37
在cmd中: 错误:“拉丁语”列不存在 第 1 行:SELECT * FROM upisi WHERE subject = "latin";
我来自 MySQL,所以我认为这会起作用。 如果我在 WHERE 子句中放入 Grade = 某物,则效果很好。知道为什么会出现这种情况吗?
最佳答案
字符常量需要单引号。 (双引号用于引用标识符)
SELECT * FROM grades
WHERE subject = 'latin';
如果您使用WHERE subject = "latin"
,则 DBMS 期望“latin”为列名,但事实并非如此。
关于sql - PostgreSQL 中不存在列(WHERE 列名称 = 列值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65900444/