2

我正在尝试在 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-...

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

4

1 回答 1

15

问题是您交替使用双引号 ( ") 和单引号 ( )。'SQL 将双引号“”内的内容视为标识符(即表名、proc 名、列名等),字符常量需要用单引号括起来

你可以说:

delete from "Tasks" where id = 'fc1f56b5-ff41-43ed-b27c-39eac9354323'
于 2018-10-01T18:38:10.960 回答