PostgreSQL에서 삭제할 때 "오류: 열이 존재하지 않습니다" 문제 해결
Java JDBC를 사용하여 PostgreSQL 테이블에서 레코드를 삭제하려고 시도하는 동안, DELETE 쿼리에 지정된 열이 존재하지 않는다는 오류가 발생할 수 있습니다. 이 문제를 해결하려면 다음 사항을 고려하십시오.
엔티티 이름 이스케이프 대소문자 구분
PostgreSQL은 엔터티 이름(예: 테이블 및 열 이름)에 대해 대소문자를 구분합니다. 열 이름에 대문자가 포함된 경우 대소문자 구분을 피하려면 큰따옴표("")로 묶어야 합니다.
예를 들어 열 이름이 "MAC"인 경우 쿼리를 다음과 같이 수정하세요.
String stm = "DELETE FROM hostdetails WHERE \"MAC\" = 'kzhdf'";
준비문에서 직접 값 설정을 피하세요
사용 준비된 문에서 직접 값을 설정하는 pst.executeUpdate()는 권장되지 않습니다. 대신 pst.setString(1, "kzhdf")을 사용하여 매개변수 값을 안전하게 설정하세요.
String stm = "DELETE FROM hostdetails WHERE \"MAC\" = ?"; ... pst.setString(1, "kzhdf"); pst.executeUpdate();
이렇게 하면 잠재적인 특수 문자나 SQL 삽입 시도가 안전하게 처리됩니다.
위 내용은 내 PostgreSQL DELETE 문이 '오류: 열이 존재하지 않습니다'와 함께 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!