我来自SQL Server,惊讶地发现以下查询不起作用:
DELETE FROM user_job_titles WHERE id IN (
"c836d018-1d12-4507-a268-a4d80d6d3f54",
"d0961a90-7d31-4c4c-9c1b-671115e3d833",
"62dda420-6e62-4017-b41d-205c0aa82ead"
)
其中,用户职务有以下列:
id
user_id
job_title_id
错误是:
ERROR: column "c836d018-1d12-4507-a268-a4d80d6d3f54" does not exist
LINE 2: "c836d018-1d12-4507-a268-a4d80d6d3f54"
我正在使用最新postgresql版本的pgAdmin。是否有其他方法运行此查询?
最佳答案
对字符串常量使用单引号:
DELETE FROM user_job_titles
WHERE id IN ('c836d018-1d12-4507-a268-a4d80d6d3f54',
'd0961a90-7d31-4c4c-9c1b-671115e3d833',
'62dda420-6e62-4017-b41d-205c0aa82ead'
);
双引号是用于表名和列名的转义字符。因此产生了错误。
关于sql - postgres-(list)中的位置-列不存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35814771/