다음 코드를 사용하여 postgreSQL 테이블을 변경하려고합니다.SQLGrammerException : 문을 실행할 수 없습니다
String query = "ALTER TABLE \"georbis:world_boundaries\" DROP COLUMN testcolumn";
sessionFactory.openSession().createSQLQuery(query).executeUpdate();
문제는 내 테이블 이름에 콜론 (:)이 포함되어있어 다음과 같은 오류가 발생합니다. 비슷한 질문
ERROR: unterminated quoted identifier at or near ""georbis? DROP COLUMN testcolumn" at character 13
STATEMENT: ALTER TABLE "georbis? DROP COLUMN testcolumn
다른 답변은 내가 노력 테이블 이름을 큰 따옴표 (")를 넣어하지만 여전히 같은 오류을 받고해야하는 것이 좋습니다. 또한
전에서 같은 쿼리를 실행 . SQL 편집기가 완벽하게 잘 작동 은 또한 콜론을 포함하지 않는 테이블 (동일한 쿼리를 실행하려고 :) 그리고 일
해결 방법 :.. 감사합니다 모두 HERE에서 답을 얻었다3210 이렇게 쿼리가 바뀌 었습니다.
String query = "ALTER TABLE \"georbis\\:world_boundaries\" DROP COLUMN testcolumn";
자바 파서는': word_boudaries'를 쿼리 매개 변수의 자리 표시 자로 가져옵니다. 어쩌면 세미콜론에서 벗어나려고 노력할 것입니다 (저는 자바를 사용하지 않습니다). – klin
@Neelesh 질문에 대한 답을 얻을 수 있습니다. 솔루션 파트를 질문으로 제시하는 대신 대답으로 추가하는 것이 좋습니다. 그리고 48 시간이 지나면 자신의 대답을 받아 들일 수 있습니다. 다른 한편, 귀하의 질문이 그 질문과 중복되는 경우, 그렇게 표시하십시오. –