尝试使用 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中文网其他相关文章!