728x90
SQLSyntaxErrorException: ORA-01747: 열명을 올바르게 지정해 주십시오
1. 문제상황
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: UPDATE tbl_product SET product_name = ?, product_price = ?, product_desc = ?, product_url = ?, WHERE product_id = ?
### Cause: java.sql.SQLSyntaxErrorException: ORA-01747: 열명을 올바르게 지정해 주십시오
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-01747: 열명을 올바르게 지정해 주십시오
] with root cause
java.sql.SQLSyntaxErrorException: ORA-01747: 열명을 올바르게 지정해 주십시오
미니쇼핑몰 상품편집 구현중 업데이트 처리에서 계속 오류발생하였는데 콘솔 화면에서는 열명을 올바르게 지정해달라는 메시지가 나왔다.
2. 원인
<update id="updateProduct">
UPDATE tbl_product
SET
product_name = #{productName},
product_price = #{productPrice},
product_desc = #{productDesc},
product_url = #{productUrl},
WHERE
product_id = #{productId}
</update>
mybatisMapper의 UPDATE SQL문에서 오류발생
product_url = #{productUrl},
- 업데이트처리하려는 컬럼 중에서 마지막에 콤마(,)가 있는 것을 발견
3. 해결
<update id="updateProduct">
UPDATE tbl_product
SET product_name = #{productName}
, product_price = #{productPrice}
, product_desc = #{productDesc}
, product_url = #{productUrl}
WHERE
product_id = #{productId}
</update>
, product_url = #{productUrl}
- UPDATE SQL문 수정 후 오류해결
4. 마무리
항상 SQL문을 작성할 때는 주의를 하고 작성할 것! 특히 콤마(,)를!
그래서 이제부터는 콤마를 앞에 써서 누락하거나 더 쓰지 않도록 하자