我试图在Postgres中执行一个非常简单的delete查询
查询:

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"是列名?

最佳答案

问题是您使用的是双引号(")和单引号(')可以互换。SQL将双引号“”中的内容视为标识符(即表名、过程名、列名等),字符常量需要enclosed in single quotes
你可以说:

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

10-05 18:04