>데이터 베이스 >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( list) 절을 사용하면 사용자에게 다음 오류가 발생할 수 있습니다.

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

이 오류는 시도할 때 발생합니다. 다음 쿼리에서 설명한 것처럼 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으로 문의하세요.