>데이터 베이스 >MySQL 튜토리얼 >PostgreSQL에서 삭제할 때 Java 코드에서 '열이 존재하지 않습니다' 오류가 발생하는 이유는 무엇입니까?

PostgreSQL에서 삭제할 때 Java 코드에서 '열이 존재하지 않습니다' 오류가 발생하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-27 05:43:13269검색

Why Does My Java Code Throw a

오류: Java를 사용하여 PostgreSQL에서 삭제할 때 열이 존재하지 않습니다

소개

Java 프로그램을 PostgreSQL에 연결하고 CRUD 작업을 수행하는 것은 많은 경우에 필수적입니다. 응용 프로그램. 이 문서에서는 Java를 사용하여 PostgreSQL 테이블에서 데이터를 삭제하려고 할 때 발생하는 일반적인 오류를 다룹니다.

오류

다음 코드를 실행할 때:

con = DriverManager.getConnection(url, user, password);
String stm = "DELETE FROM hostdetails WHERE MAC = 'kzhdf'";
pst = con.prepareStatement(stm);
pst.executeUpdate();

사용자는 오류 발생:

SEVERE: ERROR: column "mac" does not exist

해결책

PostgreSQL을 사용할 때, 대문자가 포함된 엔터티 이름(예: 테이블 및 열)은 큰따옴표("")를 사용하여 "이스케이프"해야 합니다. 따라서 올바른 코드는 다음과 같습니다.

String stm = "DELETE FROM hostdetails WHERE \"MAC\" = 'kzhdf'";

Prepared 문 모범 사례

또한 더 나은 보안과 성능을 위해 준비된 문을 사용하는 것이 좋습니다. 코드는 다음과 같이 업데이트되어야 합니다.

con = DriverManager.getConnection(url, user, password);
String stm = "DELETE FROM hostdetails WHERE \"MAC\" = ?";
pst = con.prepareStatement(stm);
pst.setString(1, "kzhdf");
pst.executeUpdate();

위 내용은 PostgreSQL에서 삭제할 때 Java 코드에서 '열이 존재하지 않습니다' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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