Database/SQL

failed to manage transaction 구문 오류 “column명” [spring boot, sql]

은성 개발자 2024. 7. 23. 22:37
728x90

다른 사람도 헤맬까봐  올리는 글..

 

[ 문제 상황 ]

  • spring boot에서PreparedStatement의 sql문을 이용해서 insert문 실행
  • 'failed to manage transaction 구문 오류 “column명”'라는 예외 발생
  • 하지만, column명이 틀린 것도 다른 문제도 없었다.

[ 문제 확인 방법 ]

  1. 먼저 sql문 실행 시 구문 오류가 남 → sql문을 따로 실행해본다. (heidisql 사용)
  2. 여기서도 “column명”에서 문제 발생 → 이거 sql 예약어인가?
  3. 결국에 맞았음.. 예약어였다. → 그러면 이름 바꾸거나 아니면 예약어 표시를 해야 함

 

나는 예약어 이름의 column을 사용해야 해서 표시하는 걸로 선택.

 

[ 문제 해결 방법 ]

  • \"칼럼명\" 을 이용해서 예약어 표시를 없앤다.
  • ` column2` (백틱(?))은 안 됐다.
String insertSQL = "insert into DB_Name (column1, \"column2\") values (?,?)";

 


 

회사 일하면서 하나씩 배우고 익혀서 또 다른 실수를 안 하길..

728x90
반응형