JAVA – Value ‘0000-00-00’ can not be represented as java.sql.Timestamp 에러해결
2021. 9. 15. 10:41ㆍDB이관
반응형
갑자기 db데이터를 바꾼뒤 로그인하려는데 해당오류가 발생하였다.
동일한 상황을 겪은 사람의 블로그를 보고 해결했다.
해당페이지에서 convertToNull옵션값을 추가했더니 정상적으로 로그인이 됨.
지금 사용하는 db의경우 deldt 가 해당한다고 떴는데.
기본값을 null로 가지고있음에도 떴음. 기본값이 0000-00-00 00:00:00이 아님.
##의문점##
기본값이 설정 되어있는게 0000-00-00 00:00:00 값이 아닌경우인데도 해당 오류가 발생하니..참 알다가도 모르겠다.
1. 문제상황
> mysql의 DATETIME컬럼에 접근시 에러가 발생하였다.
* 에러메시지
Value '0000-00-00' can not be represented as java.sql.Timestamp
2. 문제해결
> 이에러는 mysql의 테이블 컬럼에 디폴트 값을 0000-00-00 00:00:00로 정의 하였을때 Connector/J driver에서 에러로 판단해서 발생하게 되므로 접속시 접속시 자동으로 null로 변환해주는 옵션을 추가한다.
* jdbc:mysql://{IP}:{포트}/{디비명}?zeroDateTimeBehavior=convertToNull
※ 개인적으로 특별한 일이 없는한 ‘0000-00-00 00:00:00’의 기본값을 줄 필요는 없다고 생각한다.
반응형
'DB이관' 카테고리의 다른 글
MariaDB 최신버전(10.6.14) 설치 및 기본 DB 스키마 이관(utf8mb3 -> utf8mb4) (2) | 2023.12.29 |
---|---|
자바로 파일변환 및 쿼리문 txt생성! (0) | 2021.09.15 |
MariaDB my.cnf 파일설정 (0) | 2021.09.15 |
MariaDB 데이터 insert오류관련 개인정리 (0) | 2021.09.15 |
Oracle, mariaDB 차이점 정리 (0) | 2021.09.14 |