>백엔드 개발 >Golang >PostgreSQL 쿼리에서 '입력 종료 시 구문 오류'가 발생하는 이유는 무엇입니까?

PostgreSQL 쿼리에서 '입력 종료 시 구문 오류'가 발생하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-18 02:10:11460검색

Why Am I Getting a

PostgreSQL의 "입력 끝에서 구문 오류" 이해

PostgreSQL에서 "입력 끝에서 구문 오류"라는 오류 메시지가 자주 나타납니다. 예상 구문과 파서가 수신한 입력 사이의 불일치를 알립니다. 특정 사례에서 이 오류가 발생하는 이유를 살펴보겠습니다.

'?'를 사용하는 쿼리 매개변수 자리 표시자로 MySQL과 호환되지만 PostgreSQL은 호환되지 않습니다. PostgreSQL에서 준비된 문은 '$1', '$2' 등을 매개변수 자리 표시자로 사용합니다. 다음과 같이 쿼리를 수정하면 이 문제가 해결됩니다.

db.Query(`SELECT COUNT(*) as N FROM email WHERE address = `, email)

이러한 변경으로 인해 쿼리 구문이 PostgreSQL의 규칙을 준수하게 됩니다.

PostgreSQL 오류 메시지는 실제로 이해하기 어려울 수 있지만 이 경우에는 파서는 부적절한 자리 표시자로 인해 입력 끝을 구문 오류로 잘못 해석했습니다. 쿼리를 PostgreSQL 구문에 맞춰 정렬하면 이 오류를 방지할 수 있습니다.

위 내용은 PostgreSQL 쿼리에서 '입력 종료 시 구문 오류'가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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