티스토리 뷰
* 개요
Numeric 로 선언한 max_length 란 컬럼이 있다
(자바 Integer 선언)
update 시 null 을 대입하면 다음 오류 발생
Caused by: org.postgresql.util.PSQLException: ERROR: column "max_length" is of type numeric but expression is of type character varying
Hint: You will need to rewrite or cast the expression.
로그에 찍히는
UPDATE ... SET max_length = NULL 은 정상동작하는 쿼리인데도 오류
* 원인
mybatis 의 파라메터 대입하는 메서드 내부에서 Integer 가 아닌 int 를 사용하면서 null 을 사용 못하는것.
* 해결
#{maxLength, jdbcType=INTEGER}
- 이걸 모를때는 Integer 대신 STRING 을 반환하면 getMaxLengthNullable() 이란 메서드를 따로 선언해서
#{maxLengthNullable} 로 쓰기도 했었음.
'SW개발 > Database' 카테고리의 다른 글
mybatis-postgres boolean 문제 (0) | 2020.03.24 |
---|---|
Client does not support authentication protocol requested by server; consider upgrading MySQL client (0) | 2020.01.14 |
MySQL 최초 DDL 실행시 DROP TABLE 구문 오류 넘기기 (0) | 2020.01.14 |
MySQL 문자열로부터 숫자 추출, VARCHAR 형인 숫자 정렬 (0) | 2019.12.13 |
Can't connect to MySql server on 'localhost' 10061 (0) | 2019.01.31 |