>데이터 베이스 >MySQL 튜토리얼 >Postgres가 '열 '5837-2016-08-24_09-12-22'가 존재하지 않습니다.'를 반환하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Postgres가 '열 '5837-2016-08-24_09-12-22'가 존재하지 않습니다.'를 반환하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-12 09:54:42215검색

Why does Postgres return

PostgreSQL 오류 해결: "열 "5837-2016-08-24_09-12-22"가 존재하지 않습니다."

이 오류 메시지가 표시되면 열 이름은 큰따옴표로 묶어야 하고 문자열 상수는 작은따옴표로 묶어야 한다는 점에 유의하는 것이 중요합니다. 이 경우 "5837-2016-08-24_09-12-22" 값이 문자열 리터럴이 아닌 열 이름으로 착각되어 오류가 발생했습니다.

이 문제를 해결하려면 다음과 같이 SQL 문을 수정하면 됩니다.

<code class="language-sql">INSERT INTO config_change_log(last_config_version, is_done, change_description )
VALUES('5837-2016-08-24_09-12-22', false, '{ ''key'':''value''}');</code>

문자열 상수를 작은따옴표로 묶어야 열 이름이 아닌 값으로 올바르게 인식됩니다.

또는 다음 예와 같이 작은따옴표를 두 배로 늘려 데이터에서 작은따옴표를 이스케이프할 수 있습니다.

<code class="language-sql">INSERT INTO config_change_log(last_config_version, is_done, change_description )
VALUES('5837-2016-08-24_09-12-22', false, '{ "key":"value"}');</code>

이 접근 방식을 사용하면 Change_description 열의 작은따옴표가 구문 오류를 일으키지 않고 문자열 값의 일부로 해석됩니다.

잠재적 충돌을 방지하고 올바른 구문을 보장하려면 항상 문자열 상수에는 작은따옴표를 사용하고 열 이름에는 큰따옴표를 사용하는 것이 좋습니다. 이러한 수정 사항을 구현하면 "열이 존재하지 않습니다." 오류가 발생하지 않고 PostgreSQL 데이터베이스에 데이터를 성공적으로 삽입할 수 있습니다.

위 내용은 Postgres가 '열 '5837-2016-08-24_09-12-22'가 존재하지 않습니다.'를 반환하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.