복붙노트

[SQL] 오류 : 열이 존재하지 않습니다

SQL

오류 : 열이 존재하지 않습니다

나는 자바에 PostgreSQL을 연결 할 수 있었다. 그러나 나는 내가 할 수없는 삭제 작업을 수행하기 위해, 테이블의 모든 레코드를 표시 할 수 있었다.

여기 내 코드는 다음과 같습니다

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

MAC는 문자열 필드이고 대문자로 작성되어 있습니다. 이 필드는 테이블에 존재 않습니다.

나는 점점 오전 오류 :

심각한 오류 : 존재하지 않는 열 "맥"

해결법

  1. ==============================

    1.이 PostgreSQL을하고 대문자와 개체 이름 (테이블, 열 등)에 관해서, 당신은 ""에 배치하여 단어 "탈출"할 필요가있다. 이 특정 주제에 대한 설명서를 참조하십시오. 그래서, 당신의 예는 다음과 같이 기록 될 것입니다 :

    이 PostgreSQL을하고 대문자와 개체 이름 (테이블, 열 등)에 관해서, 당신은 ""에 배치하여 단어 "탈출"할 필요가있다. 이 특정 주제에 대한 설명서를 참조하십시오. 그래서, 당신의 예는 다음과 같이 기록 될 것입니다 :

    문자열 STM = "hostdetails 어디에서 삭제 \"MAC \ "= 'kzhdf'";

    보조 노트에, 당신은 준비된 문을 사용하는 고려, 당신은 당신의 SQL 문에 직접 값을 설정하지 않아야합니다.

    con = DriverManager.getConnection(url, user, password);
    String stm = "DELETE FROM hostdetails WHERE \"MAC\" = ?";
    pst = con.prepareStatement(stm);
    pst.setString(1, "kzhdf");
    pst.executeUpdate();
    
  2. from https://stackoverflow.com/questions/15275971/error-column-does-not-exist by cc-by-sa and MIT license