Develop/Java+Kotlin
[Java] java.sql.SQLException: Parameter index out of range
연로그
2022. 4. 4. 23:54
반응형
❗ java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0). 오류
💥 문제 상황
- PreparedStatement를 이용해 쿼리문을 실행시키려고 함
// 파라미터에는 ?가 들어가야 한다.
String sql1 = "update board set turn = {1} where id = {2}";
// 문자열이어도 '를 쓸 필요가 없다. - setString을 해주니까
String sql2 = "update board set turn = '?' where id = ?";
try (PreparedStatement preparedStatement = connection.prepareStatement(sql1)) {
preparedStatement.setString(1, turn.name());
preparedStatement.setInt(2, id);
preparedStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
❓ 원인
- 잘못된 방법으로 쿼리 작성 또는 파라미터 세팅
💡 해결
- 파라미터 개수 확인
- 문자열의 경우 불필요한 '나 "가 들어가지 않았는지 확인
참고
반응형