删除“列不存在”

Cat*_*ish 1 sql postgresql string-constant

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

查询:

delete from "Tasks" where id = "fc1f56b5-ff41-43ed-b27c-39eac9354323";
Run Code Online (Sandbox Code Playgroud)

结果:

ERROR:  column "fc1f56b5-ff41-43ed-b27c-39eac9354323" does not exist
LINE 1: delete from "Tasks" where id = "fc1f56b5-ff41-43ed-...
Run Code Online (Sandbox Code Playgroud)

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

Jus*_*Pup 5

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

你可以说:

delete from "Tasks" where id = 'fc1f56b5-ff41-43ed-b27c-39eac9354323'
Run Code Online (Sandbox Code Playgroud)