sql - PostgreSQL 中不存在列(WHERE 列名称 = 列值)

标签 sql postgresql string-constant

我在 PostgreSQL 中有下表:

enter image description here

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/

相关文章:

mysql - 批量 SQL 插入是优化 mySQL 的好方法吗?

sql - 向 PostgreSQL 数据库添加一个新列,设置初始值并一次性设置 NOT NULL

sql - 无法让简单的 PostgreSQL 插入工作

sql - 在 SQL 中组合连续行中特定列的值

mysql 两个唯一的列,如果插入到另一个列中,一个列中的值将被视为重复

mysql - 删除 MySQL 中的主键

ruby-on-rails - rails : Converting from MySQL to PostGres breaks Geokit Distance Calculations?

macos - PostgreSQL 用户配置如何在 MacOSX 上工作?

c++ - 类中的静态字符串常量与常量的命名空间 [c++]