반응형
해당 에러는 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
반응형
'DataBase > MySql' 카테고리의 다른 글
[mysql] select 한것 update하기 (0) | 2018.11.23 |
---|---|
mysql Lock wait timeout exceeded; try restarting transaction: Timeout on record in index: (0) | 2018.10.30 |
2. mysql process 상태 리스트 보기 (0) | 2015.05.26 |
1. 테이블 복사하기 (0) | 2015.05.12 |