首页 >数据库 >mysql教程 >为什么我的 PostgreSQL `WHERE IN` 子句会导致'列不存在”错误?

为什么我的 PostgreSQL `WHERE IN` 子句会导致'列不存在”错误?

DDD
DDD原创
2024-12-22 03:30:11463浏览

Why Does My PostgreSQL `WHERE IN` Clause Cause a

PostgreSQL:WHERE IN(列表)查询中出现“列不存在”错误

尝试使用 WHERE IN () 从 PostgreSQL 中的 user_job_titles 表中删除行时list) 子句时,用户可能会遇到以下错误:

ERROR:  column "c836d018-1d12-4507-a268-a4d80d6d3f54" does not exist
LINE 2: "c836d018-1d12-4507-a268-a4d80d6d3f54"

尝试使用 double 时会出现这种情况WHERE IN 子句中的引号 ("),如以下查询所示:

DELETE FROM user_job_titles WHERE id IN (
"c836d018-1d12-4507-a268-a4d80d6d3f54",
"d0961a90-7d31-4c4c-9c1b-671115e3d833",
"62dda420-6e62-4017-b41d-205c0aa82ead"
)

此错误的解决方案是在 WHERE IN 子句中的字符串常量周围使用单引号 (')。引号在 PostgreSQL 中用作表名和列名的转义字符,因此它们不能用来括起字符串文字。

因此,正确的查询应该是:

DELETE FROM user_job_titles
WHERE id IN ('c836d018-1d12-4507-a268-a4d80d6d3f54',
             'd0961a90-7d31-4c4c-9c1b-671115e3d833',
             '62dda420-6e62-4017-b41d-205c0aa82ead'
            );

以上是为什么我的 PostgreSQL `WHERE IN` 子句会导致'列不存在”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn