删除 "column does not exist"

delete "column does not exist"

我正在尝试在 Postgres 中执行一个非常简单的删除查询

查询:

delete from "Tasks" where id = "fc1f56b5-ff41-43ed-b27c-39eac9354323";

结果:

ERROR:  column "fc1f56b5-ff41-43ed-b27c-39eac9354323" does not exist
LINE 1: delete from "Tasks" where id = "fc1f56b5-ff41-43ed-...

我有一个简单的 table 记录,其中 id 就是那个值。为什么 "fc1f56b5-ff41-43ed-b27c-39eac9354323" 是列名?

问题是您交替使用双引号 (") 和单引号 (')。 SQL 将双引号 "" 内的内容视为标识符(即 table 名称、proc 名称、列名称等),字符常量需要 enclosed in single quotes

你可以说:

delete from "Tasks" where id = 'fc1f56b5-ff41-43ed-b27c-39eac9354323'