Ace-T's Blog 내 검색 [네이버 커넥트 이웃 합니다~^-^/ 요청 大 환영~~]

java.sql.SQLException: No value specified for parameter 3

DataBase/MySql 2019.01.09 14:13
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


해당 에러는 scala + mysql에서 insert + update를 하고자할 때 났다.

쿼리 스트링은 아래와 같다.

val insertSql =
"""
|insert into 테이블 (name, age )
|values (?,?)
|ON DUPLICATE KEY UPDATE name = ?, age =?
""".stripMargin

java.sql.SQLException: No value specified for parameter 3

에러는 아래에서 코드가 추가되지 않아서였다.

targetList.foreach {
t =>
val name = t._1
val age = t._2

if (age > 20){
insertStmt.setString(1, name)
insertStmt.setInt(2, age)
insertStmt.addBatch()
insertStmt.clearParameters()
}
}
insertStmt.executeBatch()
insertStmt.close()
connection.close()

즉, 2번째 ? 까지는 채워졌는데 3,4 번째 ?는 채워지지 않아서 이다.

그러므로 insertStmt.setString(3, name)와 insertStmt.setInt(4, age)가 필요하다.


 - END

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

티스토리 툴바